摘要:模块文件名和模块所在位置
本系列介绍怎么创建一个初始的模块文件和目录。
命名你的模块
创建模块的第一步是先给模块起一个简称。这个简称因为将要用在你模块所包含的所有文件和函数里面,所以,简称必须以字母开头,并且只能包括小写字母和下划线。对于本教程,我们将选择"current_posts"作为模块简称。
注意:你一定要遵守这些建议,不要用大写字母在你的模块简称里,因为模块简称将用于模块的文件名字和某个函数的前缀。当你执行一个drupal钩子(钩子将会在后面的教程里介绍)的时候,drupal将会认出你的钩子函数,如果这些钩子跟模块文件名有相同的函数名前缀。
还有一点也很重要,就是你的模块的简称不能跟任何你站点正在用的主题有相同的简称。
创建一个文件夹和一个模块文件
由于我们选择的模块简称是"current_posts", 开始创建模块时,我们需要现在drupal安装路径下创建一个文件夹:sites/all/modules/current_posts。在sites/all/modules/current_posts文件夹里创建一个PHP文件,并且将文件命名为current_posts.module。注意,drupal不会用.php扩展名。drupal非常清楚.module文件使用php写的。
在drupal6版本时,sites/all/modules文件夹里放得都是非核心的模块(类似,sites/all/themes文件夹里放的也是非核心主题),从那以后,这个文件夹就放置所有非核心文件。这样做的好处就是,你更容易更新你的核心文件和模块而不必清理你自己定制的模块和文件。并且,当你有一个多站点drupal安装时,这个模块只用于一个特别的站点,你也可以将模块放置到sites/your-site-folder/modules。
模块文件以PHP标签开始,不再设置CVS的ID标签在你的模块里。因为drupal.org已经将版本控制系统改为了Git。如果编码的模块给你一个错误的提示信息关于CVS的,那说明模块还没有更新到drupal.org的Git版本系统中。
<?php
这个模块目前还没有运行,因为模块没有被激活。我们将在后面的教程中激活模块。
编码的标准
根据编码标准,不要写闭合标签 ?> 。包含闭合标签可能引起一些奇怪的运行时问题在某些特殊服务建立的时候。
所有的被直接用在drupal模块里的函数都是被命名为{modulename}_{functionname}的钩子,这里的functionname是一个预定义的函数名后缀。drupal将运行这些函数得到特殊的数据,因此,有了这些定义好的函数名字,drupal就知道哪里去找这些函数。我们一会将介绍钩子。
转载请注明:http://5iphp.com/drupal-tutorial-create-module
作者:chinajason
最新评论