通过分类(Taxonomy)在 Drupal 上创建产品目录
产品目录功能在许多 CMS 中都有实现,Drupal 也不例外。您可以使用现成的解决方案,例如 Ubercart、e-Commerce 或其他用于 Drupal 的目录模块。不过,这些模块的功能可能对您来说过于复杂。目录也可以通过模块 CCK(用于创建“商品”内容类型)、Taxonomy(用于按分类目录章节对商品进行分类)、Views(用于输出商品)来实现。此外,我们还需要一个用于从分类术语生成菜单的附加模块 Taxonomy Menu。
让我们首先弄清楚什么是 Drupal 中的分类(Taxonomy)。从定义开始:
分类学(Taxonomy)(来自希腊语 taxis——排列、结构、秩序,和 nomos——法则),是对复杂现实领域进行分类和系统化的理论,这些领域通常具有层次结构(例如生物界、地理对象、地质对象、语言学、民族学等)。该术语由瑞士植物学家奥古斯特·德·康多尔(O. Decandolle)于1813年提出,长期以来被用作“系统学”的同义词。20世纪60—70年代出现了一种趋势,将分类学定义为系统学的一个分支,是关于表示从属对象组(分类单元,taxon)系统的理论。
现在我们启用 Drupal 的分类模块:
Drupal 中的分类层次结构如下:所有术语(terms)都包含在词汇表(vocabulary)中,每个术语可以有一个或多个子术语。通过这样的层次结构形成一棵树,其根节点即为词汇表。
现在添加一个词汇表(在管理菜单“内容 → 分类 → 添加词汇表”),并将其命名为“餐具”。
我们稍后再配置词汇表的其他属性,现在先向词汇表中添加一些术语。
添加术语:杯子、盘子、叉子、勺子,或您喜欢的其他名称。结果得到如下术语列表:
现在我们通过 CCK 模块为商品目录创建一个内容类型。需要为该内容类型添加一个图片字段(image field)和一个价格字段(数据类型选择为 integer,即整数类型,输入字段类型为 text field)。您还可以添加其他字段,用于描述商品或服务的属性。(关于如何创建内容类型,您可以参考前一课。)此外,在价格字段设置中,我添加了一个后缀(suffix),即价格值后面显示的文本。
接下来,进入“餐具”词汇表的设置,启用在创建“商品”类型内容时选择术语的功能:
同时在词汇表设置中选择“术语为必填项”。
现在我们可以开始向目录中添加商品了。进入管理菜单:内容 → 创建内容 → 商品:
此时商品页面看起来如下:
将来可以通过模板和 CSS 修改商品页面的外观,但这将在后续课程中讲解。现在我们再添加一个商品“盘子”,并使用 taxonomy menu 模块创建菜单。安装此模块后,在词汇表设置中将出现 taxonomy menu 模块的选项:
选择菜单位置(menu location)为 <Navigation>,这样词汇表中的所有术语都会变成菜单链接,点击后即可显示对应商品的页面。
正如您所见,创建这样的商品目录非常简单,更多的工作将在目录显示和主题化阶段完成,这部分内容将在后续课程中介绍。