标题参数
Drupal的翻译函数,可以接受一个字符串和一个用来替换的数组(更多关于t()函数的详细,参看第18章),例如:
Drupal的翻译函数,可以接受一个字符串和一个用来替换的数组(更多关于t()函数的详细,参看第18章),例如:
如果没有在菜单项中定义标题回调的话,Drupal将默认使用t()函数。我们也可以明确地给出这个回调函数的名字,在title callback键中声明它就是了:
今天上午,学会了整合FCKeditor和image assist,从永岛告诉我客户的需求,到选取模块,再到实现两个模块之间的整合,也花去了6个小时的时间了。客户的需求其实很简单,也很常见,就是想在Fckeditor中插入图片,点击图片,能够链接到图片的节点页面,或者说是原始页面。相关的模块一大堆,需要选用哪一个。选了模块以后,还要学习如何整合。比如,最后选择了image assist,那么就要整合它和fckeditor之间集成,有些模块之间的集成不是一下子就搞定的。需要多做一些工作。有时候选择的模块可能是错误的。那样需要花费更多的时间。
上个月去外研社,白小雨让我现场帮他解决问题,在短短的2个小时内,我帮他搞定了3个问题,这些都是困扰他们多时的问题。还有很多其他的例子,别人会很惊讶,这样的问题我都会,这么简单就搞定了。是的,就是那么简单。
对于每个简单的问题,在学会其相应的解决办法的过程,都是需要花费不短的时间的。我之所以能够那么短的时间,解决问题,就是因为我用了2年的时间,重复同样的事情,两年来,我一直从事Drupal的技术工作,从而积累了大量的经验。这是一个过程,需要慢慢积累。一个问题解决了,下次遇到同样的问题,就省事不少。一个问题解决了,下次遇到同样的问题,思考一下有没有更好的解决办法。
日积月累,是一个过程。
Drupal支持多语言,它使用t()函数来翻译字符串。所以你可能会想,菜单项中的title键应该是这样定义的:
到目前为止,在前面的所有例子中,我们都简单的将菜单项的access callback键设置为了TRUE,这意味着所有的用户都可以访问我们的菜单。一般情况下,通过在模块中使用hook_perm()来定义权限,并使用一个函数来测试这些权限,从而实现对菜单的访问控制。这里所用的函数的名字定义在菜单项的access callback键中,它一般为user_access。让我们定义一个名为receive greeting的权限;如果用户没有哪个角色具有该权限的话,当他/她访问页面http://example.com/?q=menufun时,将会收到一个“拒绝访问”消息。
老葛的Drupal培训班 Think in Drupal
老葛的Drupal培训班 Think in Drupal
如果你没有特别指定的话,那么Drupal会假定你把页面回调放在了.module文件中。在Drupal6中,对于每个页面请求,为了尽可能的降低为其加载的代码总量,许多模块被拆分成了多个部分。如果回调函数不在当前的.module文件中的话,可以使用菜单项中的file键,来指定哪个文件包含了该函数。我们在第2章中编写注释模块的时候,就用到了file键。
如果你定义了file键,那么Drupal将会在你的模块目录下查找该文件。如果你的页面回调是由其它模块提供的话,也就是说该文件不在你的模块目录中,那么你需要告诉Drupal在查找该文件时所用的文件路径。使用file path键,就可以轻松的实现这一点了。我们在第2章的“定义你自己的管理部分”就用到了它。