MENU_NORMAL_ITEM和MENU_CALLBACK有什么区别?

时间:2010-07-21 12:55:17

标签: drupal

MENU_NORMAL_ITEM和MENU_CALLBACK之间有什么区别?

4 个答案:

答案 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
   }