电子商务中的动态模式

时间:2016-03-02 20:24:44

标签: e-commerce atg broadleaf-commerce

电子商务网站显示不同类别产品的不同字段。这意味着它们实现了动态模式。这种动态模式使用了哪些技术?

我知道Magento使用的是EAV模型。是否有其他框架使用的其他选项,如ATG,Broadleaf,IBM Websphere commerce等?

由于

2 个答案:

答案 0 :(得分:1)

将产品扩展为在ATG中具有类别特定属性的常用方法是扩展product存储库项描述符。

通常,您将为特定于类别的产品创建新的子类型产品,并为每个特定于类别的属性添加属性。

例如,您可能希望定义具有“屏幕尺寸”属性的“TV产品”子类型产品

默认情况下,只有一种product。这个事实由没有选项的type属性表示。

<property name="type" data-type="enumerated" column-name="product_type" writable="false" hidden="true"> </property>

您可以扩展它以表示多种类型和子类型。

<property name="type" data-type="enumerated" column-name="product_type" writable="false" hidden="true">
  <option value="tv"/>
  <option value="option2"/>
</property>

然后,您可以将子类型项描述符定义为

<item-descriptor name="tvProduct" super-type="product" sub-type-value="tv">
  <!-- properties -->
</item-descriptor>

然后,您可以在子类型中添加propertytable元素,以表示特定于类别的属性,例如screenSize

从那时起,您可以像对待任何其他类型的产品一样对待tvProduct。对于product类型的项目,它们会显示在任何查询等中 - 但是当您拥有tvProduct的实例时,它将具有额外的screenSize属性。

答案 1 :(得分:0)

在Broadleaf中,有两种方法可以添加自定义属性:

  1. 对与BLC_PRODUCT表对应的现有ProductImpl Hibernate实体进行子类化,将所有自定义属性放在新的MYCOMPANY_PRODUCT表中。在http://www.broadleafcommerce.com/docs/core/current/tutorials/core-tutorials/extending-entities-tutorial
  2. 上有一个非常好的教程
  3. 大多数Broadleaf实体(如ProductImplSkuImpl)都附加了一个Map属性映射,您可以在不创建新表或新子类的情况下添加自定义属性。使用Broadleaf自定义字段模块(商业模块),这些新的动态字段可以自动显示在管理表单中
相关问题