You are here

drupal6

内容包括drupal6教程,drupal6汉化,drupal6主题,drupal6模板,drupal6中文手册,drupal6 views,drupa6中文,drupal6安装,drupal6开发,drupal6视频,等

特殊的,预定义的加载参数:%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版本:

通配符和参数替换

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

在实际中,一个Drupal路径的一部分通常是用来查看或者修改一个对象的,比如一个节点对象或者一个用户对象。例如,路径node/%/edit用来编辑一个节点,而路径user/%则用来根据用户ID来查看用户的相关信息。让我们看一下后者的菜单项,你可以在modules/user/user.module中的hook_menu()实现中找到它。这个路径匹配的URL应该看起来是这样的http://example.com/?q=user/2375。在你的Drupal站点上点击查看“我的帐号”页面,就能看到这样的URL了。

Drupal版本:

通配符和页面回调参数

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

老葛的Drupal培训班 Think in Drupal

菜单路径中的通配符,不影响将URL中的额外部分作为参数传递给页面回调,这是因为通配符只匹配到下一个/字符。继续使用我们的menufun/%路径作为例子,对于URL http://example.com/?q=menufun/foo/Fred,通配符所匹配的字符串就是foo,而对于路径中的最后一部分(Fred),它将作为一个参数传递给页面回调。

Drupal版本:

菜单项中的通配符

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

到目前为止,我们在菜单项中所用的都是普通的Drupal路径名字,比如menufun 和menufun/farewell。但是Drupal还经常使用这样的路径,比如user/4/track或node/15/edit,在这些路径中,有一部分是动态的。现在,让我们来看看动态路径是如何工作的。

Drupal版本:

标题参数

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

Drupal的翻译函数,可以接受一个字符串和一个用来替换的数组(更多关于t()函数的详细,参看第18章),例如:

Drupal版本:

定义标题回调

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

如果没有在菜单项中定义标题回调的话,Drupal将默认使用t()函数。我们也可以明确地给出这个回调函数的名字,在title callback键中声明它就是了:

Drupal版本:

页面

Subscribe to RSS - drupal6