আমি হুক_নোড_অ্যাক্সেস হুকের জন্য ডি 7 এপিআই ডকুমেন্টেশনে একটি কোড স্নিপেট ব্যবহার করেছি ।
এই কোডটি "ebook" সামগ্রী যে ব্যবহারকারীদের "ভিউ ইবুক" অনুমতি রয়েছে তাদের দেখার জন্য অ্যাক্সেস মঞ্জুর করবে।
Hook_permission () প্রয়োগ করে আপনার অ্যাক্সেস নিয়ন্ত্রণ করতে একটি নতুন অনুমতি প্রয়োজন।
/**
* Implements hook_permission().
*/
function mymodule_permission() {
return array(
'view ebook' => array(
'title' => t('View Ebook'),
'description' => t('View Ebook nodes.'),
),
);
}
হুক_নোড_অ্যাক্সেস () প্রয়োগ করে ড্রুপাল নোডের অ্যাক্সেসকে মঞ্জুর বা অস্বীকার করতে পারে।
/**
* Implements hook_node_access().
*/
function mymodule_node_access($node, $op, $account) {
// Checks for an ebook node in view mode.
if (is_object($node) && $node->type === 'ebook' && $op === 'view') {
// Grants permission to view the node if the current user has an role
// with the permission 'view ebook'.
if (user_access('view ebook')) {
return NODE_ACCESS_ALLOW;
}
// Otherwise disallows access to view the node.
return NODE_ACCESS_DENY;
}
// For all other nodes and other view modes, don't affect the access.
return NODE_ACCESS_IGNORE;
}
অন্যান্য অনুমতি (সম্পাদনা, মোছা, ইত্যাদি) সাধারণ দ্রুপাল অনুমতিগুলির মাধ্যমে ডিল করা যেতে পারে।
Ptionচ্ছিকভাবে আপনি hook_query_TAG_NAME_alter প্রয়োগ করে অ্যাডমিন ওভারভিউ থেকে সামগ্রীটি সরাতে পারেন।
/**
* Implements hook_query_TAG_NAME_alter().
*/
function mymodule_query_node_admin_filter_alter(QueryAlterableInterface $query) {
if (!user_access('view ebook')) {
$query->condition('n.type', 'ebook', '!=');
}
}