常见任务

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版本:

特殊的,预定义的加载参数:%map和%index

g089h515r806 的头像
Submitted by g089h515r806 on 星期一, 2009-08-03 14:57

老葛的Drupal培训班 Think in Drupal

有两个特殊的加载参数。%map令牌将当前Drupal路径作为数组进行传递。在前面的例子中,如果%map作为一个加载参数传递过来的话,那么其值就为array('node', '56', 'revisions', '4', 'view')。如果加载函数的参数是通过引用传递的话,那么加载函数可以修改%map中对应的值。例如,在modules/user/user.module中,user_category_load($uid, &$map, $index)就是这样用来处理类别名字中字符“/”的。
 
    %index令牌在加载函数中指的是通配符的位置。对于前面的例子,由于通配符的位置为1,如表4-2所示,所以该令牌的值就为1。

Drupal版本:

页面

Subscribe to Think in Drupal RSS