5 创建自己的预处理函数
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
对于我们的这个模块来说,现在已经到了万事俱备只欠东风的阶段了。我们已经准备好了数据,现在我们需要在区块中将其显示出来。对于区块,我们首先想到的是区块的模板文件,下面是Drupal核心中自带的区块模板文件:
内容包括drupal7教程,drupal7汉化,drupal7主题,drupal7模板,drupal7中文手册,drupal7 views,drupal7中文,drupal7安装,drupal7开发,drupal7视频,等
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
对于我们的这个模块来说,现在已经到了万事俱备只欠东风的阶段了。我们已经准备好了数据,现在我们需要在区块中将其显示出来。对于区块,我们首先想到的是区块的模板文件,下面是Drupal核心中自带的区块模板文件:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
模块中存储所用数据的常用方式,就是为这些数据创建一个单独的数据库表。当我们决定为模块创建数据库表结构时,应该问问自己:我们需要存储哪些数据?如果我们要对这个表进行查询,那么会用到哪些字段和索引?最后,还要考虑一下,将来对这个模块,有没有可能会作些扩展?
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们在文件的开始处使用PHP的开始标签,接着添加了一段简洁的注释:
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
字段和实体,是Drupal7中新引入的两个概念。在Drupal7以前,人们使用CCK模块来扩展节点类型,为节点类型添加各种字段。这种方式渐渐的演变成为了主流方式,并最终在Drupal7中进入了Drupal内核。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
对于你站点的每位访问者,无论他拥有你站点的一个账号,或者是匿名访问,在Drupal中,都会将其处理成用户。每个用户都具有一个ID,注册用户还具有用 户名、电子邮件等信息。用户本身是实体的一个具体实现,所以我们可以为用户添加更多的字段;此外,使用profile2模块,就可以定义不同的 profile类型,并将其与用户关联起来。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在Drupal中,菜单有两层含义:一种是处理请求的路由系统,它会将页面请求所提供的URL映射到Drupal内部的回调函数上,这是Drupal程序员所关心的;另一种就是页面上的导航,它负责组织站点的内容关系。
作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
我们在前面的Drupal文件结构的分析中,提到过themes文件夹,这里面放置的就是Drupal核心自带的主题。Drupal中的主题主要负责把原始 数据转化为格式化的HTML输出。通常一个Drupal主题,由info文件、模板文件、template.php、CSS文件、JS文件、图片构成。我 们打开一个Drupal主题,比如garland,就会看到在模板文件中,里面包含了html代码片断和PHP变量。主题对外观的控制,就是通过这样的模 板文件和主题函数实现的。除了Drupal核心自带的这些主题外,Drupal.org还有很多第3方的主题可用,比较常用的有Zen、fusion、tao等等(http://drupal.org/project/themes)。
作者:老 葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
谈到模块,就不得不提到钩子这个概念。我有时也喜欢把钩子称作钩子机制,我们可以把钩子看做Drupal的内部事件。有时也可以钩子看作是特殊的回调函数。 模块就是通过钩子,与Drupal核心系统无缝整合在一起了。钩子是一个很抽象的概念,我们通过代码来理解一下钩子机制。