আপনি যে উপায়টি করতে পারেন তা হ'ল প্রতিটি পৃষ্ঠা, প্রতিটি নোড, প্রতিটি ব্লকে একটি কাস্টম মডিউল তৈরি করতে হবে access
মেনু_সেট_াইটেম () ফাংশনটি এমন রাউটার আইটেমটি ফিরিয়ে দেয় যা বর্তমান পৃষ্ঠার জন্য অ্যাক্সেস_আরগমেন্টস সম্পত্তি রয়েছে।
/**
* Show access permission of current page.
*/
function yourmodule_get_page_access() {
$router_item = menu_get_item();
if ($router_item) {
$access_arguments = unserialize($router_item['access_arguments']);
$arguments = array();
foreach ($access_arguments as $access_argument) {
$arguments[] = $access_argument;
}
if ($arguments) {
$output = '<p>';
$output .= t('This page needs user to have %p permission(s) to access', array(
'%p' => implode(', ', $arguments),
));
$output .= '</p>';
}
else {
$output = '<p>' . t('This page needs no user permissions') . ' </p>';
}
return $output;
}
}
তারপরে আপনি প্রতিটি পৃষ্ঠার উপরে অ্যাক্সেসের তথ্য প্রদর্শন করতে, হুক_পেজ_ল্টারটি করতে পারেন।
/**
* Implements hook_page_alter().
*
* Display access information on top of every page.
*/
function yourmodule_page_alter(&$page) {
// Make a new area on top of the page for displaying access information.
$page['content']['theverytop']['#markup'] = yourmodule_get_page_access();
$page['content']['theverytop']['#weight'] = -10;
$page['content']['#sorted'] = FALSE;
}
পরবর্তী আপনি এই জাতীয় ব্লক অনুমতি সম্পর্কিত তথ্য প্রদর্শন করতে পারেন:
/**
* Implement hook_block_alter
*
* To display block permission information to the block title.
*/
function yourmodule_block_view_alter(&$data, $block) {
$delta = $block->delta;
$output = '';
$rid = db_query("SELECT rid FROM {block_role} WHERE delta = :delta", array(':delta' => $delta))->fetchCol();
if (empty($rid)) {
$output = ' This block does not have any role permission restriction.';
} else {
$output = ' This block is viewable for users have role(s): ';
foreach ($rid as $role_id) {
$rolename = db_query("SELECT name from {role} where rid = :rid", array(':rid' => $role_id))->fetchField();
$output .= $rolename . ' ';
}
}
// append the permission info to block title for every block
$block->title .= $output;
}
এবং তাই, মূলত একই ধারণা, আপনি নোড, ফর্ম, মতামত একই কাজ করতে পারেন। আশাকরি এটা সাহায্য করবে.