Drupal 7 如何使某些菜单项对某些角色可见?
在/drupal/admin/structure/menu/manage/main menu中,我有一些链接,我只希望为具有特定权限的用户显示这些链接 我该怎么办 在我的模块中,我有Drupal 7 如何使某些菜单项对某些角色可见?,drupal-7,Drupal 7,在/drupal/admin/structure/menu/manage/main menu中,我有一些链接,我只希望为具有特定权限的用户显示这些链接 我该怎么办 在我的模块中,我有 ... $items['resume/joblist'] = array( 'page callback' => 'ac_resume_job_list', 'access arguments' => array('view joblist'), 'title' => 'Job Li
...
$items['resume/joblist'] = array(
'page callback' => 'ac_resume_job_list',
'access arguments' => array('view joblist'),
'title' => 'Job List',
'description' => 'Job List',
);
...
function ac_resume_permission()
{
return array("view joblist" => array("title" => "View Job List"));
}
当我在未经许可的情况下进入某个用户下的“简历/工作列表”时,我得到了预期的“访问被拒绝”,但仍然显示链接。
hook\u perm()
在Drupal 7中被重命名为,并且您定义的查看mylink
与您声明为权限的查看作业列表
之间存在一点不匹配
您可以更改代码,使其看起来更像:
function mymodule_menu() {
$items['mylink'] = array(
'page callback' => 'mymodule_mylink',
'access arguments' => array('view mylink'),
'title' => 'My Link',
'description' => 'My Link',
);
return $items;
}
function mymodule_permission() {
return array(
'view mylink' => array(
'Title' => 'View My Link'
)
);
}
清除Drupal的缓存后,导航到admin/people/permissions
,并将新权限分配给希望能够访问在hook_menu()
中定义的页面的角色
完成此操作后,具有该角色的用户将能够访问该页面:)我建议使用以下模块:,它可以完全满足您的需要。当用户未经授权时,我仍然可以看到菜单项。我添加了我希望执行的操作的图像。启用该模块后,我发现一个模块可以完全满足我的需要,只需编辑您想要的链接,并在底部的“限制项目可见性”(我在接下来的6个小时内无法回答我自己的问题,我不希望任何人浪费他们的时间,所以我将其作为评论发布)