#产品Products简介
产品类型代表一个独立的产品或者一组相关的产品(如不同颜色同一个款式的T-shirt)。没意见产品必须有一个标题,一个独一无二的商品识别码SKU,一个默认价格。商品可能有额外的字段来表示商品的内部数据或者产品属性。这些根据需要添加。如果需要展示多组字段,那么一般就应该增加一个产品类型了。

上面的图展示了Drupal Commerce模块的实体。注意到Drupal节点中无处不在的分组和引用。我们采用了商品的引用域来做到这一点。当你增加了一个商品到你的购物车,想要结算的时候,一个应用到该产品的订单和条目就被创建。最后,客户走完结账流程之后,订单状态就有望被更新为“完成”。

接下来,我们快速地浏览一下商品实体。上面的图展示了在建立有很多字段的包bundles的过程中可以使用的标准的商品实体。有一些字段对任何商品都是必须的。

##产品项页面(Product Variations)
这张图展示了产品页面和产品项页面的区别。

我们假定你有一个T-shirt店。你的一个商品是一件非常酷炫的蓝色 Drupal-or-Nothing的衬衫。这个衬衫有不同的色彩和尺码。Drupal Commerce工作的方式是不对你想如何组织你的产品做任何的假定。非常像一个零售点,每一个变化(“蓝色”和“XXL”)都有自己的SKU和潜在的自身价格。但是对于这件T恤店,你想有一个名叫“Drupal-or-Nothing”的产品页面,在这个页面中展示了同一个类型的所有尺码、颜色的T恤。
这就是为什么我们要加入节点node这个概念。在Drupal Commerce中,你需要从商品页中分别添加商品。因此,在建立名叫“Drupal-or-Nothing”的产品页面的时候,我们只需要简单地建立一个商品展示节点,并且把网页中所有的不同尺码颜色的同一个款式的T恤衫引用到这个节点即可。

##产品类型
使用Drupal7的实体系统,为我们提供了一个非常简单的范例:节点有内容类型。内容类型有字段,病创造了内容相关的很多很有意义的条目。产品实体和内容类型很想死。你可以使用各种各样的字段来建立产品类型。
例如,你可能想卖实体书、电子书下载,并且对有前途的作家有类似于Kickstarter的捐赠系统。每个产品类型有自己的一套字段、规则、展示选项等等。你可以使用和Drupal7管理核心一样的方式,来添加或者编辑产品类型。(他们从字面上和内容类型是相同的,减去了一些不必要的内容类型设置。)让我们来使用一些字段,来快速实现三个不同的产品类型。

  • 实体书
    – 封面图片
    – 作者图片
    – 电子书引用字段

  • 可下载的电子书
    – 电子书免费预览
    – 电子书全书PDF下载

  • 作者捐赠
    – 捐赠级别
    – 鼓励的话语
    – T恤衫的大小

我们肯定你可以想出你自己的一套感兴趣的产品,并且建造你的产品实体。

#产品属性和变种
产品的属性是用来描述产品的描述。例如,我们可以通过颜色和尺寸来描述一件T恤。这些属性意味着在真是的物理世界中,你可能推出一种款式的T恤,但是TA有可能包含三种尺寸或者三个变种。
商业软件必须采用灵活的方法来对这些变种做处理。以下是Drupal Commerce如何抽象这种概念:

  1. 商品类型(Product Types)一个商品类型是一个基于一个自定义产品实体的特定的包bundle。每一个包bundle都可以有相应的字段,包括图片或者其他类型的信息。
  2. 商品信息字段(Product “Informational” Fields) 任何商品的字段都可以是一个简单的信息字段。典型的信息字段包括一个产品的具体结构的图像。例如,如果你卖一个有很炫酷图案有多种颜色的T恤,每个不同颜色的产品都有一个图像字段。当你选择不同的颜色属性的时候,就会呈现不同的图片。
  3. 商品属性字段(Product “Attribute” Fields)商品属性字段是有一些已定义商品类型的字段。(文本选项的列表、专有名词列表、或者颜色列表等等)这个属性字段是很特别的,因为它采用选择的方法来进入。经常地,你会吧一个属性字段和一个信息字段进行对应。当用户选择蓝色,那么Drupal系统就会立即把这个选项和蓝色的商品进行一个对应。
  4. 商品展示(Product Displays)如果有需要的话,那么商品都是分组的。你可以吧任何类型和数量的产品所以呢到一个商品展示页面上。为了更好地使用商品展示页面,我们建议在每个展示页面上只展示一个类型的商品。产品展示窗口是用户看到“配置”或者“下订单”的地方。

##属性设置示例
让我们来设定一个在一个商品类型上设置一个属性字段,并且来看一看它是如何和展示页面显示的商品字段联系起来的。
(操作样例略)
#商品展示
把node作为一种整理产品的方式岁显然的方式是吧不同尺码颜色的同一个产品放在一起。在DRupal Commerce模块中,每一个变种都是一个商品,我们采用商品展示页面把他们很好地组织起来。
商品展示Product Display”是Commerce Kickstart 1.x中的默认内容类型,它已经有了一个产品引用类型的字段。从技术上说,所有拥有产品饮用的实体都可以看作是商品展示。节点当然是最经典的一种展示实体,它有天然的好处,因为他们是默认的而且标准的实体类型来进行一个对内容的从头至尾的展示。当然,你也可以用术语词典、甚至是用户页面来进行商品的展示。

PS: Drupal6中,节点node是最基本的概念。而在Drupal7中,包括节点、术语、菜单等很多东西都被抽象为:实体Entity。因此上面说“节点是实体的一种”。

##把商品和商品展示分开的好处
商品在Drupal Commerce中可以展示以下几种事情。

  • 一个出售的单独的项目
  • 一种商品的其中一个变种(比如某种大小和颜色的T-shirt)
  • 网站预留的非有形商品
  • 非购买的用来表示某种目的的条目(比如捐赠账户或者捐赠活动)

基于产品和网站的需要,商品应当在一个特定的页面上进行展示。所有尺码和颜色的同种商品应该展示在一起。因此,Drupal Commerce才把商品和商品展示作为两种类型分开。

这样做可以有以下好处:

  • 追踪单个商品,不论它是从哪个展示页面买来的。(方便多语言网站。多域名网站)
  • 给予不同的显示策略,以便适应不同的网站。
  • 轻松管理特定产品的数据导入和更新,而不必担心相关的显示设置。

#管理商品
Commerce模块为我们提供了大概有20个管理页面。绝大多数的页面是Views视图,或者是设置框。
如果你不想自己去处理视图,我们建议你用如下的一个或多个模块,来改进你的产品管理体验。

在网站 drupalcommerce.org 社区中,也有一些模块可以用。
#设定一个商品的种类
种类或者商品显示清单是你的新的电子商务网站成功的关键。幸运的是,你的网站运行着Drupal7和视图3。这意味着当它涉及展示你的产品的时候,几乎所有的事情都是可能的。
在继续之前,你将需要了解产品展示和产品实体之间的差别。此外,如果你对视图(Views)有深入的了解,特别是对关系是图有了解的话,那么它对你会接下来的学习很有帮助。
下面是四种简单的设置方式,这里就不提了。