Drupal模块开发步骤
导航: 上一页 | 首页 | DedeCMS | 帝国CMS | Xoops | SupeSite | PHPCMS | PHP168 | Joomla
这里是根据drupal开发指南上的例子来展开的。准备定制一个“annotate”模块。采用Drupal 6版本。
第一步:创建文件。
首先为我们模块选择一个名称,“annotate”比较适合我们的需求,因为其简短并能够让人能够大致看出这个模块是做什么的。接着,我们需要一个目录来存放这个模块。可以放在核心模块一起,但那样不利于管理和升级,所以我们放在sites/all/modules内。
创建info文件,这个文件是模块必须的。用于说明模块的一些基本信息。我们的annotate.info文件内容如下:
; $Id$ name = Annotate description = Allows users to annotate nodes. core = 6.x package = Pro Drupal Development
说明:文件是简单的keys和values格式。以CVS标识标签开始,若你想将模块贡献到drupal官方,就需要写这个。这个值将自动被CVS替代。接着我们向Drupal提供模块名称和描叙,它们将显示在模块管理界面上。再接下来声明的是我们的模块兼容drupal那个版本。模块是以组的形式显示,组是由包决定的。因此,若我们有三个不同的模块,则是这样的:package = Pro Drupal Development。它们将显示在一组。除了上面列出的外,我们还可以添加一些可选项。下面的例子是一个模块需要PHP5.2和论坛模块、分类模块。
; $Id$ name = Forum confusion description = Randomly reassigns replies to different discussion threads. core = 6.x dependencies[] = forum dependencies[] = taxonomy package = "Evil Bob's Forum BonusPak" php = 5.2
现在来创建模块主文件annotate.module。代码如下:(开始于一个PHP开始标签和一个CVS标识标签,接着是一个注释)
<?php // $Id$ /** * @file * Lets users add private annotations to nodes. * * Adds a text field when a node is displayed * so that authenticated users may make notes. */
注意下注释风格。我们以/**开始,在随后的行中,我们使用的是*,并缩进了一个空格和以*/结束注释。@file表示下一行描叙的是这个文件是做什么的。使用了这个单行描叙,因此api.module,drupal文档自动提取器和格式器将能够找出这个文件是做什么的。接着一个空行,我们添加一个长句描叙主要是针对检查我们代码的程序员。
注意:我们故意不使用一个闭合(?>)标签。这在PHP内是可选的。若包含了的话,有可能在文件内产生尾部空格问题。