在我的模块文件中,我创建了一个新的菜单项
function xmlproject_menu()
{
$items = array();
//more items here
$items['system/xml/cfa/initialize/%/%/%/%/%'] = array(
'page callback' => 'xmlproject_initialize_cf',
'page arguments' => array(4, 5, 6, 7, 8,),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function xmlproject_initialize_cf($session_id, $cart_id, $pid, $rid, $partner_id)
{
//some code here
}
我已尝试使用admin / build / modules,devel / menu / reset和admin / settings / performance来清除缓存。我可以看到数据库中的菜单项(menu_router)。
当我去http://example.com/system/xml/cfa/initialize/1/2/3/4/5时,我得到了#34;找不到页面"。
答案 0 :(得分:1)
你的代码看起来很花哨,但我想你的页面回调" xmlproject_initialize_cf"应该真的回归。
试试这个:
function xmlproject_initialize_cf($session_id, $cart_id, $pid, $rid, $partner_id)
{
// Your Code
return 'Hello world!';
}
模块名称是" xmlproject"?
答案 1 :(得分:1)
您的代码似乎没有任何问题。 只是好奇,为什么你把数组的最后一个元素保持为'空'(8号后的逗号)
'page arguments' => array(4, 5, 6, 7, 8,),
此外,数组中还有一个空项(在MENU_CALLBACK之后的额外逗号)
'type' => MENU_CALLBACK,
答案 2 :(得分:1)
正如您在包含路由器路径中的部件数量的数据库number_part
列中看到的那样,设置为7(最大可用部件),但菜单回调的部分是9.Which超过{{3}在drupal 6中可用。这就是你获得Page not found
的原因
只需缩小菜单项目大小就可以了。例如:
$items['initialize/%/%/%/%/%'] = array(
'page callback' => 'xmlproject_initialize_cf',
'page arguments' => array(4, 5, 6, 7, 8),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);