信息文件是对的,以下是我的模块文件代码。当我访问http://localhost/drupal/mymenu时,为什么它无法正常工作。
<?php
function mymenu(){
$item = array();
$item['mymenu'] = array(
'description'=>'test1',
'page callback'=>'mymenu_test',
'access arguments' => array('access mymenu'),
'type'=>MENU_CALLBACK,
);
return $item;
}
function mymenu_perm(){
return array('access mymenu');
}
function mymenu_test() {
$output = 'hello world';
return $output;
}
我已经给匿名人员提供了“访问mymenu”权限。
答案 0 :(得分:6)
应该是
function mymenu_menu() {
...
}
您不需要$ item = array();还有。
答案 1 :(得分:1)
每当你看到带有hook_something的api函数时,你必须用你的模块名称替换'hook'部分
在这种情况下,确实是mymenu_menu
答案 2 :(得分:1)
请尝试以下操作:将函数名称用作modulename_menu
并使用'access arguments' => array('access content')
。
<?php
function test_menu(){
$item = array();
$item['mymenu'] = array(
'description'=>'test1',
'page callback'=>'mymenu_test',
'access arguments' => array('access content'),
'type'=>MENU_CALLBACK,
);
return $item;
}
function mymenu_test() {
$output = 'hello world';
return $output;
}
答案 3 :(得分:-2)
在使用hook_menu添加菜单项后,您需要刷新菜单缓存(在drupal 7中至少两次)。