You are here

第2章 编写自己的模块

admin 的头像
Submitted by admin on 星期四, 2015-05-28 10:20

      作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

  Drupal可以用于构建各种类型的网站,比如论坛、电子商务、博客、新闻聚合、相册、视频等等。由于每种类型的网站之间,其具体功能相去甚远,如果仅仅依靠Drupal核心模块,那么是远远满足不了这么多需求的。但是DrupalPHP语言的基础之上,封装了一套自己的API,基于DrupalAPI,用户就可以根据自己网站的具体需求,开发出对应的模块,来满足自己的需求。以电子商务类型的网站为例,drupal社区的相关开发者,先后开发出来了ecomerceubercartcommerce模块,用来满足该类型网站的建站需求。

 

    Drupal的模块大体分作两类,一种是Drupal核心模块,它又可分为核心必选模块和核心可选模块;另一种是第3方模块,就是Drupal核心以外的模块,在drupal.org上的模块下载中,可以找到各种各样的模块,比如常见的viewspanelsctoolsrules模块。当我们要实现一个功能的时候,我们就要寻找相应的模块,我们首先想到的是Drupal核心模块是否能够满足我们的需求,其次是在drupal.org的模块库中寻找,有时可能会在别的网站上找到。通常我们总能找到一个现成的模块,或者基于多个基础模块的组合功能,恰好满足我们的需求。但是总存在这样的情况,现有的模块仅能满足我们80%的需求,或者没有现成的模块可用。这个时候,我们就不得不开发自己的模块了。

 

    在本章中,我们将根据实际的需求,来开发一个自己的模块。通过这个实例,我们能够了解到Drupal模块的结构,常用的Drupal API,基本的编码规范。首先让我们了解一下这个模块的具体需求,我们知道,中文的网站,通常信息量比较大,页面全是链接,而链接放在一个又一个的区块当中,通常中文网站的区块有3部分组成,区块标题,更多链接,区块内容列表。而Drupal
心的区块,只包含了标题和内容两个组成部分。为了在区块中,添加一个更多链接,可以采用多种办法,但是很多时候,我们需要把这个链接硬编码到模板文件中。
如果能够在区块的配置页面,能够配置更多链接,那岂不是更好?而此时我们又没有找到一个现成的模块可用,所以我们只好编写一个这样的模块了。


Drupal版本: