MENU_NORMAL_ITEM和MENU_CALLBACK之间有什么区别?
答案 0 :(得分:13)
更准确的答案是hook_menu()
创建路由器项目,并且还生成菜单链接。 MENU_NORMAL_ITEM
生成一个菜单链接,该链接将显示在导航菜单中,而MENU_CALLBACK
不会添加菜单链接,因此它不会显示在菜单中。
答案 1 :(得分:7)
MENU_NORMAL_ITEM
创建一个菜单项,而MENU_CALLBACK
则不会。这是唯一的区别。
答案 2 :(得分:3)
答案 3 :(得分:2)
Drupal将网址映射到功能。
意味着您需要为每个URL提供一个函数。该函数主要存在于模块中
ex mysite / add将映射到模块中的函数
在许多情况下,我们不希望URL作为菜单项,而是打算将其用于其他目的。最好的例子是Ajax回调
例如:你有一个自动建议表单,它在服务器中调用一个函数建议。前端Ajax将需要一个url来触发请求。让网址为www.mysite /建议
当您需要MENU_CALLBACK
function example_menu() {
$items['suggest'] = array(
'page callback' => 'example_suggest',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function example_suggest() {
//you can return the autosuggested items to the page
}