22 Hook_menu的键值属性

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

    "title":必须的。菜单项未翻译的标题。

    "title callback": 用来生成标题的函数。默认为t()。如果你只想输出原始的字符串,那么可以将这个键设置为FALSE。

    "title arguments":传递给标题回调函数的参数

 

    "description":菜单项未翻译的描述。

 

    "page callback": 当用户访问这个路径时,为了显示页面内容,所需要调用的回调函数。如果忽略这个键值,那么将会使用父菜单项的回调函数。

 

    "page arguments":传递给页面回调函数的参数。

 

    "delivery callback": 把页面回调函数返回的结果打包并传递给浏览器,所调用的函数。默认为drupal_deliver_html_page(),也可以从父菜单项继承过来。注意,即便是没有通过访问控制检查,Drupal也会调用这个函数,注意在自定义交付回调函数(delivery callback)时,要考虑这一点。

 

    "access callback":访问控制回调函数,如果用户具有访问这个菜单项的权限,那么返回TRUE,否则返回FALSE。这里可以使用布尔值来代替函数,当然也可以使用数字(会自动转换为布尔值)。默认为user_access(),或者是从父菜单项继承过来;只有MENU_DEFAULT_LOCAL_TASK类型的菜单项才可以从父菜单项中继承。为了使用user_access(),你需要指定需要检查的权限。

 

    "access arguments": 传递给访问控制回调函数的参数。如果访问控制回调函数是继承过来的,那么访问控制参数也可以继承过来,除非在子菜单项中覆写访问控制参数。

 

    "theme callback": 这个函数用来返回呈现该页面所用主题的机读名字。如果没有提供,它的值将会从父菜单项中继承过来。如果没有主题回调函数,或者该函数没有返回站点的当前主题,那么这个页面所用的主题将由hook_custom_theme()决定,或者采用默认主题。通常只在非常特别的情况下,使用这个键,那就是这些页面的功能与特定主题完全绑定在了一起,此时只有采用hook_menu_alter()才能覆写这些页面。如果想要实现通用的主题切换功能,应该使用hook_custom_theme()钩子函数。

 

    "theme arguments": 传递给主题回调函数的参数。

 

    "file":在调用页面回调函数前,所需要加载的文件;它允许将页面回调函数放在单独的文件中,该文件应该存放在相对于当前模块的目录,也可以使用"file path"键指定文件所在的目录。这个键只适用于页面回调函数。

 

    "file path": 页面回调函数所在文件的目录所在。默认为当前模块所在的路径。

 

    "load arguments": 一个参数数组,用在页面参数后面,传递给路径中的每个通配符对象加载器。

 

    "weight": 一个整数,用来决定菜单项的相对位置。越重的菜单项越靠后。默认为0。重量相同的菜单项按字母顺序排序。

 

    "menu_name": 默认为导航菜单,如果你不想把菜单项放到这里,那么可以设置一个自定义的菜单。

 

    "context": 定义标签可以出现在的上下文。默认情况下,所有标签只在页面上下文中显示为了本地任务。如果想把这些标签作为上下文链接显示在页面区域容器中,那么需要使用下面的上下文:

 

    •MENU_CONTEXT_PAGE:对于页面上下文,标签被显示为本地任务。

    •MENU_CONTEXT_INLINE:在页面上下文外面,标签被显示为上下文链接。

    上下文可以联合使用,如果想把标签既显示成为本地任务,也显示为上下文链接,那么可以这样定义:

 

<?php

      'context' => MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE,

 ?>

 

    "tab_parent":对于本地任务菜单项,本地任务的父菜单项的路径。比如'admin/people/create'的默认父菜单项为'admin/people'

 

    "tab_root": 对于本地任务菜单项,最近的非标签菜单项的路径;默认与"tab_parent"相同。

 

    "position": 这个条目对应区块在系统管理页面的位置('left' 或者 'right')

 

    "type": 菜单项的类型,可用值有MENU_NORMAL_ITEMMENU_CALLBACKMENU_SUGGESTED_ITEMMENU_LOCAL_ACTIONMENU_LOCAL_TASKMENU_DEFAULT_LOCAL_TASK。 如果忽略了"type",那么会使用默认的MENU_NORMAL_ITEM

 

    "options":在根据这个菜单项生成链接时,传递给l()函数的选项数组。


Drupal版本: