第2章
为图书添加各种字段
2.1 下载并安装常用模块
2.2 添加图书内容类型
2.3 为图书添加对应的字段
2.4 管理作者字段的显示
2.5 使用Node clone快速添加测试数据
2.6 小结
现在让我们下载最常用的一些模块。在搭建网站的时候,我总是喜欢在开始的时候把相关的、自己确定一定会使用的模块一次性地下载下来。我们现在搭建的是电子商务网站,自然离不开Ubercart。Drupal 7的用户有两种选择,一是Ubercart,二是Commerce,这两个模块的作者都是rszrama,里面的功能也极其相似。Commerce是后来写的,对Ubercart在多个方面做了很大的改进。可能会有人问,为什么不用Commerce作为例子?这是因为我对Ubercart更熟悉一些,Commerce有很多改进,当Ubercart 3.0的正式版出来以后,两者之间的差距缩小了很多,并不像有些人所说的那么大。还有一点,无论是Ubercart还是Commerce,用来搭建中国的电子商务网站都需要大量的定制、改造,这些工作在Ubercart上,我做了很多的积累。
2.1 下载并安装常用模块
我下载的常用模块如图2-1所示。
Views、Ctools、Panels、Entity、Rules、Flag、Views slideshow是必备的模块,其他的则是项目中常用的模块。这些模块的功能,我们将会在后面逐一介绍。在启用这些模块的过程中,遇到了模块间存在依赖关系的问题,如图2-2所示。
2.1.1 模块之间的依赖关系
Views Slideshow:Cycle模块所依赖的另一个模块Libraries不存在,而当一个模块依赖的模块不存在时,这个模块就无法启用。模块之间的依赖关系是在info文件里面定义的,如果我们打开该模块的info文件,就会看到这样的代码,如图2-3所示。
这种依赖关系在模块的启用和卸载时会用到。以Views Slideshow:Cycle和Libraries为例,在启用模块的时候,首先需要启用Libraries,然后才能启用Views Slideshow:Cycle;在模块卸载时,顺序恰好相反,必须先卸载Views Slideshow:Cycle,然后才能卸载Libraries。
Libraries是管理各种jQuery库文件的一个基础模块,很多具体的jQuery效果模块都依赖于这个模块。我们下载安装Libraries模块,注意,安装模块在Drupal 7下面的含义和Drupal 6下面的含义是不同的。在Drupal 6下面通常就是安装并启用的意思;在Drupal 7下面指的是下载并解压缩到Drupal的模块文件目录下面。
现在让我们启用模块Views Slideshow:Cycle,如果我们只选了Views Slideshow:Cycle,而没有选中Libraries模块,此时会出现一个提示页面,如图2-4所示。
2.1.2 启用相关模块
我们单击“继续”按钮,这样系统便会先启用Libraries模块,然后再启用Views Slideshow:Cycle模块。此时,我们启用了以下这些模块:Chaos tools、Page manager、Views content panes、Features、Field collection、Flag、Hierarchical Select、Hierarchical Select Taxonomy、Entity API、Entity tokens、Libraries、Pathauto、Token、Panels、Rules、Rules UI、Cart、Order、Product、Store、Payment、Shipping quotes、Cart Links、Userpoints、Better Exposed Filters、Views、Views Bulk Operations、Views Slideshow、Views Slideshow: Cycle、Views UI、Fivestar、Voting API。
我们在模块的列表页面中会看到更多的模块,这是因为一个模块可以由多个相关的子模块共同组成。这里的信息量比较大,如果你刚接触Drupal不久,按照我所说的模块启用即可,不需要现在就了解这些模块的具体功能。我们不可能把每个模块的安装都详细地示范一下,因为每个模块的安装都大同小异。