常见错误

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-08-04 11:10

现在你刚刚在你的模块中实现了菜单钩子,但是你的回调没有响应,你的菜单没有显示,或者就是不能正常工作,也就是出了问题。那么对于下面这些地方,你需要好好的检查一下:

Drupal版本:

使用menu.module

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-08-04 11:09

启用Drupal的菜单模块,就可以为管理员提供一个方便的用户界面,来定制已有的菜单,比如导航菜单或者一级/二级链接菜单,或者来添加新菜单。当位于includes/menu.inc中的menu_rebuild()函数运行时,表示菜单树的数据结构将被存储在数据库中。当你启用模块时,当你禁用模块时,或者当其它的一些能够影响菜单树结构的事情发生时,都会运行menu_rebuild()函数。数据将被保存到数据库的menu_router表中,而关于链接的信息则被保存到了menu_links表中。

Drupal版本:

将菜单项显示为标签

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-08-04 11:05

Drupal的公认晦涩的菜单行话来说,一个显示为标签的回调被认为是一个本地任务,它的菜单类型为MENU_LOCAL_TASK或者MENU_DEFAULT_LOCAL_TASK.本地任务的标题应该是一个简短的动词,比如“添加”或者“列出”。它通常作用在一些对象上,比如节点,或者用户。你可以把一个本地任务想象为一个关于菜单项的语义声明,通常显示为一个标签(tab)----这和<strong>标签类似,后者也是一个语义声明,通常用来显示加粗的文本。

Drupal版本:

常见任务

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-08-04 11:03

老葛的Drupal培训班 Think in Drupal

在这一部分,我们给出了一些常见问题的典型解决办法,这些问题都是程序员使用菜单时会经常遇到的。

 
分配回调而无须向菜单添加一个链接
    通常,你可能想将一个URL映射到一个函数上,而不需要创建一个可见的菜单项。例如,你可能在web表单中有一个JavaScript函数,它需要从Drupal中得到一列状态,所以你需要将这个URL映射到一个PHP函数上,而不需要将它放到导航区块中。你可以通过将你的菜单项的类型指定为MENU_CALLBACK来实现这一点,就像本章中的第一个例子那样。

Drupal版本:

菜单项的种类

g089h515r806 的头像
Submitted by g089h515r806 on 星期二, 2009-08-04 11:02

当你在菜单钩子中添加一个菜单项时,经常用到的一个键就是type。如果你没有定义类型,那么将会使用默认类型MENU_NORMAL_ITEM。Drupal将根据你指定的类型来对菜单项进行不同的处理。每一个菜单项类型都有一系列的标记或者属性组成。表4-2列出了菜单项类型的标记。

Drupal版本:

页面

Subscribe to Think in Drupal RSS