我正在尝试使用hook_menu()
在我的模块中创建一个非常简单的页面,但在我测试之后,我得到了“您无权访问此页面”。我无法弄清楚我做错了什么。以下是我使用的代码。
请注意,我在现有模块包下创建了此模块。例如,模块文件夹是xyz,我为模块创建了一个文件夹xyz_mobile,我在信息中添加了xyz作为包。我不知道这与它有什么关系。
function xyz_mobile_menu() {
$items['mobile'] = array(
'title' => 'page test',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
答案 0 :(得分:1)
我在这里假设Drupal 6。您需要$ items数组中的“访问参数”和“页面回调”元素:
function mymodule_menu() {
$items = array();
$items['mobile'] = array(
'title' => 'page test',
'page callback' => 'mymodule_my_function',
'access callback' => 'user_access',
'access arguments' => array('access content'), // or another permission
'type' => MENU_CALLBACK,
);
return $items;
}
'access callback'元素包含函数的名称(在本例中为user_access),它将检查用户是否具有'access arguments'元素中指定的权限。
'page callback'元素将运行您的自定义函数。
function mymodule_my_function() {
return 'this is the test page';
}
最后,在重新测试之前,不要忘记清除菜单缓存。