Drupal 6 为什么在创建新菜单项后出现页面未找到错误?
在我的模块文件中,我创建了一个新的菜单项Drupal 6 为什么在创建新菜单项后出现页面未找到错误?,drupal-6,drupal-routes,Drupal 6,Drupal Routes,在我的模块文件中,我创建了一个新的菜单项 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
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以清除缓存。我可以在数据库中看到菜单项(菜单)。
当我转到时,我得到的是“未找到页面”。您的代码看起来非常漂亮,但我认为您的页面回调“xmlproject\u initialize\u cf”实际上应该返回一些内容 试试这个:
function xmlproject_initialize_cf($session_id, $cart_id, $pid, $rid, $partner_id)
{
// Your Code
return 'Hello world!';
}
模块名是否为“xmlproject”?您的代码似乎没有任何问题。 奇怪的是,为什么要将数组的最后一个元素保留为“空”(数字8后的逗号) 此外,数组中还有额外的空项(在菜单回调后有额外的逗号)
正如您在数据库
number\u part
列中看到的,该列包含路由器路径中的部件数,设置为7(最大可用部件),但菜单回调的部件数为9。这比drupal 6中的可用部件数还要多。这就是为什么找不到页面
只要减小菜单项的大小,您就可以开始了。例如:
$items['initialize/%/%/%/%/%'] = array(
'page callback' => 'xmlproject_initialize_cf',
'page arguments' => array(4, 5, 6, 7, 8),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
这不是问题,如果回调没有返回任何东西,页面应该为空,但找不到OP getting页面
'type' => MENU_CALLBACK,
$items['initialize/%/%/%/%/%'] = array(
'page callback' => 'xmlproject_initialize_cf',
'page arguments' => array(4, 5, 6, 7, 8),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);