本节先对 Drupal Commerce 模块结构进行总体地的介绍,后面再对每一个子模块进行详细展开介绍。
Drupal Commerce
是由 Commerce Guys
公司所开发的一个 Drupal 电子商务模块。
在 Drupal6的时代,它叫 Ubercart。Drupal7之后开始改名为Commerce,在Drupal7时代,官方提供了一个Distribution(发行版):Commerce Kickstart
,它以Commerce模块为中心,整合了一系列周边模块,并提供了一套主题。
到了Drupal8时代,Commerce Guys 对 Commerce 进行了完全重构,但继承了 7.x 的概念和设计。然而得益于Composer 的出现,Distribution 不再是使用 Commerce 的最佳方式,所以官方不再为 8.x 的 Commerce 提供发行版。这不是一种退步,而是一种进步,开发者可以更方便地维护基于Drupal Commerce 的工程源码。
Drupal Commerce 模块的结构
Drupal Commerce 模块本质上是由一系列子模块构成。
它的源码仓库是 https://cgit.drupalcode.org/commerce/tree/
查看它的源码目录结构,会发现在根目录有一个名为 modules
的目录,里面每一个子目录,就是一个子模块。事实上,真正的功能,都是由子模块去实现的,根模块 commerce
只是用于把这里模块组织在一起,并存放了一些可以在各个子模块之间可以共用的代码和资源。
下面我们来看看每一个子模块,都实现了些什么功能。
Commerce Price 模块:提供货币相关的功能
Commerce Store 模块:提供基本的多店铺功能
Commerce Product 模块:提供了一个灵活的产品数据结构
Commerce Order 模块:提供了订单处理任务的相关功能
Commerce Cart 模块:在订单模块的基础上,实现了购物车系统
Commerce Checkout 模块:提供了可灵活配置的结账流程系统
Commerce Promotion 模块:提供了一个灵活的促销系统
Commerce Payment 模块:提供了支付系统
Commerce Tax 模块:提供了国际贸易的税金处理系统
Commerce Log 模块:提供了数据活动日志功能