1

我对 Hybris 中的产品变体感到困惑。

例如,您为什么选择使用尺寸或颜色的变体?

扩展产品项以包含样式和尺寸作为属性是否会简化生成的数据模型?

任何见解将不胜感激。

4

2 回答 2

4

变体是电子商务系统中的一个常见概念。Hybris 和其他人一样支持这一点:

那么我们为什么要这样做呢?这主要是为了便于管理。

如果我们以服装为例,也许我们有没有尺寸或颜色变化的产品(可能是太阳镜),我们有只有颜色变化的产品(帽子?),我们有尺寸和颜色变化的产品(也许是 T 恤)。

这是我们的设置:

  • 产品
    • 产品蓝色
      • 产品蓝色/S
    • 产品红色
      • 产品红色/M
    • 产品绿色
      • 产品绿色/S
      • 产品绿色/XL

在此示例中,我们只需要在“产品”上配置一个价格。我们只需要在“产品蓝色”、“产品红色”和“产品绿色”上配置 3 个图像。然后,我们可以在“叶子”变体上配置库存水平。

所以不同的产品会有不同数量的变化和不同的变化方式。因此,我们不想在 Product 表中填充大量 Null 列,这些列代表每个产品的所有这些可能的变化。通过 VariantType MetaType 采取了一种更可扩展的方法。

通过这种方法,您可以通过 items.xml 创建“具体”变体(我称之为),或者通过使用 impex 的运行时定义创建“动态”变体。只有具体的变体可以直接在代码中使用(即使用 instanceof),但不能通过部署和更新系统添加。动态变体需要更聪明的编码来确定项目上的 VariantAttributes,但通常这是一种更好的方法并且更可扩展。

当然有一个论点是多级变体结构有点多余并且有点错误。变体没有“方向”。您不会自然地导航 Product > Blue > Small,您只需选择 Blue Small Product。因此可以说所有变体结构都应该只有 1 级深度。

于 2014-11-12T11:45:27.763 回答
0

例如,您将需要一个变体产品来管理价格。对于某些颜色,产品的成本可能高于另一种颜色。您无法在一个产品中管理这一点。您也可以为您的变体产品定义另一个描述/产品名称。使用变体产品比使用定制产品更容易做到这一点。

于 2014-11-10T14:52:29.483 回答