【问题标题】:access to custom admin menu item by role in Drupal 7在 Drupal 7 中按角色访问自定义管理菜单项
【发布时间】:2013-08-06 23:03:15
【问题描述】:

我添加了一个自定义管理菜单项,我想为具有特定角色的非管理员用户显示该菜单项。有没有办法做到这一点?

提前致谢! 李

【问题讨论】:

    标签: drupal-7 drupal-navigation drupal-roles


    【解决方案1】:

    在您的自定义 hook_menu 中创建自定义访问回调:

    //custom hook_menu() 
    $items['menu'] = array(
      ................. 
      'access callback' => 'my_custom_callback' 
    ); 
    
    function my_custom_callback() { 
     global $user; 
     if (in_array('[YOUR_ROLE]', array_values($user->roles))) {
        return TRUE; 
      }
    } 
    

    【讨论】:

    • 谢谢!我昨天开始实施这个,但是因为其他工作而偏离了轨道。不幸的是,我在解决方案上遇到了问题 - 我会尽快回复并发布详细信息...
    • 在回复您的建议之前,我尝试让菜单项无论角色如何都显示出来,但一开始并没有发生(它只显示给 Drupal 管理员)。在管理菜单中移动页面并最终回到我原来的位置(在管理菜单中的管理上方)的过程中,在一路清除缓存之后,它实际上开始向用户显示更受限制的角色。由于所有经过身份验证的用户(3 个不同的非管理员角色的成员)都需要查看此页面,这就足够了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多