根据我的理解,我的问题是我(而不是我的客户)运行较旧版本的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;
}
令我惊讶的是,“创建签到”或“查看所有签到”都没有显示出来。我仍然在权限页面上显示原始的“签到”。我一直在寻找几天的答案。帮助一个人出去?
答案 0 :(得分:3)
权限由不同的钩子定义,即hook_perm。
所以你应该做这样的事情:
/**
* Implementation of the hook_perm()
*/
function checkin_perm() {
return array (
'create a checkin',
'view all checkins',
);
}