Drupal之hook_menu()的原理

hook_menu()原理:
test_menu()这个函数返回了一个数组结构的变量item。按照官方的说法,这个结构叫做menu item,起到的就是控制器的作用。在当前的路径下其menu item结构如下所示:

如果你想了解更多关于menu item的信息,可以参考我的这篇” Drupal代码阅读笔记(二)“。这一大串的参数是不是让你有种头晕的感觉。下面让我们来具体的看下,这些都是什么意思,也就是对应着你在test_menu()中设置的那些参数。
  • “title”:必须的,标明这个menu item的标题
  • “title callback”:产生标题的一个函数;在默认情况下他使用的是t()(说明下,这个t()函数是drupal实现i18n的函数,如果您熟悉struts一类的框架,相信对这方面肯定有所接触)。如果你输出的单纯的是一个字符串,可以将这个设置为false
  • “title arguments”:发送给t()这个函数的参数
  • “description”:对这个menu item的描述
  • “page callback”:(这个参数值比较的重要)当用户访问了当前的url的时候所返回的web页面的内容,如果为空,则会调用父菜单的这个参数值
  • “page arguments”:传递给page callback函数的一个参数数组
  • “file”:会被PHP include所调用的一个文件。这样的话可以允许menu item中用到的callback函数分放在不同的文件中。这个文件路径必须是相对于这个module的目录的,除非你设置了file path参数
  • “file path”:上面那个file参数所在的目录
  • “weight”:权重,一个用来定义menu item相对位置的整数值(和menu的位置有关)
  • “menu_name”:可选参数,把这个menu item放到一个自定义的菜单中去,如果你不想让它被默认的放在Navigation的这个菜单中的话
  • “type”:一串用来表示这menu item属性的标识,很多标识都是menu.inc文件中的constant变量
    • MENU_NORMAL_ITEM
    • MENU_CALLBACK
    • MENU_SUGGESTED_ITEM
    • MENU_LOCAL_TASK
    • MENU_DEFAULT_LOCAL_TASK

转载于:https://my.oschina.net/mashixin/blog/54917

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值