You are here

drupal6

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

标题的本地化和定制

g089h515r806 的头像
Submitted by g089h515r806 on 星期日, 2009-08-02 14:27

Drupal支持多语言,它使用t()函数来翻译字符串。所以你可能会想,菜单项中的title键应该是这样定义的:

'title' => t('Greeting') // No! don't use t() in menu item titles or descriptions.
 
    然而,你想错了。菜单字符串是以原始字符串的形式存储在menu_router表中的,而菜单项的翻译则被推迟到了运行时进行。真实情况是,Drupal有一个默认的翻译函数(t()函数),它被指定用来翻译菜单标题。你将在后面看到,如何将默认翻译函数修改为你选择的函数,以及如何向该函数传递参数。负责翻译的函数被称为title callback(标题回调),而传递过来的参数则被称为title arguments(标题参数)。
 老葛的Drupal培训班 Think in Drupal

Drupal版本:

访问控制

g089h515r806 的头像
Submitted by g089h515r806 on 星期日, 2009-08-02 14:26

到目前为止,在前面的所有例子中,我们都简单的将菜单项的access callback键设置为了TRUE,这意味着所有的用户都可以访问我们的菜单。一般情况下,通过在模块中使用hook_perm()来定义权限,并使用一个函数来测试这些权限,从而实现对菜单的访问控制。这里所用的函数的名字定义在菜单项的access callback键中,它一般为user_access。让我们定义一个名为receive greeting的权限;如果用户没有哪个角色具有该权限的话,当他/她访问页面http://example.com/?q=menufun时,将会收到一个“拒绝访问”消息。

Drupal版本:

放在其它文件中的页面回调

g089h515r806 的头像
Submitted by g089h515r806 on 星期日, 2009-08-02 14:20

如果你没有特别指定的话,那么Drupal会假定你把页面回调放在了.module文件中。在Drupal6中,对于每个页面请求,为了尽可能的降低为其加载的代码总量,许多模块被拆分成了多个部分。如果回调函数不在当前的.module文件中的话,可以使用菜单项中的file键,来指定哪个文件包含了该函数。我们在第2章中编写注释模块的时候,就用到了file键。

 

    如果你定义了file键,那么Drupal将会在你的模块目录下查找该文件。如果你的页面回调是由其它模块提供的话,也就是说该文件不在你的模块目录中,那么你需要告诉Drupal在查找该文件时所用的文件路径。使用file path键,就可以轻松的实现这一点了。我们在第2章的“定义你自己的管理部分”就用到了它。

Drupal版本:

页面

Subscribe to RSS - drupal6