在 drupal 6 中,节点菜单是$items['node/%node']
. 这应该给出一个类似的 url,www.sitename.com/node/1
但是当www.sitename.com/node/1/something
再次访问相同的菜单时,会调用相同的菜单,从而使www.sitename.com/node/1/something的内容重复www.sitename.com/node/1
有什么办法可以阻止这种情况发生
在 drupal 6 中,节点菜单是$items['node/%node']
. 这应该给出一个类似的 url,www.sitename.com/node/1
但是当www.sitename.com/node/1/something
再次访问相同的菜单时,会调用相同的菜单,从而使www.sitename.com/node/1/something的内容重复www.sitename.com/node/1
有什么办法可以阻止这种情况发生
我想您应该在模块的 hook_menu 中添加新的菜单路径,这将覆盖此路径。应该是这样的:
function mymodule_menu() {
$items = array();
$items['node/%node/something'] => array(
'title' => 'My title',
'page callback' => 'my_custom_callback',
'page arguments' => array(1),
'access arguments' => array('access content'),
'type' => MENU_LOCAL_TASK // use this if you want to add new tab
'type' => MENU_CALLBACK // use this if you want just callback function
);
return $items;
}
之后,您将必须编写my_custom_callback
将执行此页面代码的函数。
function my_custom_callback($nid = null) {
// do your code
return $output
}