Drupal模块的权限列表被卡住了

时间:2013-04-02 18:23:22

标签: permissions drupal-6 drupal-modules

根据我的理解,我的问题是我(而不是我的客户)运行较旧版本的Drupal,特别是Core 6.26如果您对任何其他规格感到好奇,我会很乐意透露。< / p>

在此之后,我使用以下菜单钩子创建了一个新模块。

function checkin_menu(){
    $items = array();
    $items['checkin'] = array(
        'title' => 'Checkin'
        ,'type' => MENU_CALLBACK
        ,'access arguments' => array('checkin')
        ,'page callback' => 'checkin'
    );
}

权限列出了我的预期。有一个名为“Checkin”的部分与.info文件中指定的模块名称相同,还有一个项目赋予“checkin”

的权限。

稍后我将模块扩展为具有两个不同的路径。第二个应该仅适用于管理员。

function checkin_menu(){
    $items = array();
    $items['checkin'] = array(
        'title' => 'Checkin'
        ,'type' => MENU_CALLBACK
        ,'access arguments' => array('create a checkin')
        ,'page callback' => 'checkin'
    );
    $items['checkin_admin'] = array(
        'title' => 'Checkin Admin'
        ,'type' => MENU_CALLBACK
        ,'access arguments' => array('view all checkins')
        ,'page callback' => 'device_checkin_page'
    );
    return $items;
}

令我惊讶的是,“创建签到”或“查看所有签到”都没有显示出来。我仍然在权限页面上显示原始的“签到”。我一直在寻找几天的答案。帮助一个人出去?

1 个答案:

答案 0 :(得分:3)

权限由不同的钩子定义,即hook_perm

所以你应该做这样的事情:

/**
 * Implementation of the hook_perm()
 */
function checkin_perm() {
  return array (
    'create a checkin',
    'view all checkins',
  );
}