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内是可选的。若包含了的话,有可能在文件内产生尾部空格问题。