2016-03-02 33 views
0

电子商务网站针对不同类别的产品显示不同的字段。这意味着他们实现了一个动态模式。什么技术用于这种动态模式?电子商务中的动态模式

我知道使用EAV模型的Magento。其他框架,如ATG,Broadleaf,IBM Websphere商业等有没有其他选择?

感谢

回答

1

延伸产品具有特定类别的属性在ATG通常使用的方法是延长product库项目描述符。

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

例如,您可能要定义一个“电视产品”子类型的产品,其中有一个屏幕大小的属性

默认情况下,只有一种类型的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属性。

0

阔叶,有2种方式来添加自定义属性:

  1. 子类对应于BLC_PRODUCT表,把所有的自定义属性的新MYCOMPANY_PRODUCT现有ProductImpl Hibernate的实体表而代之。在灯架上有一个很好的教程在http://www.broadleafcommerce.com/docs/core/current/tutorials/core-tutorials/extending-entities-tutorial
  2. 大部分阔叶实体(如ProductImplSkuImpl)都映射属性附加到他们,你可以无需创建一个新表或新的子类中添加自定义属性地图。随着阔叶自定义字段模块(商用模块),这些新的动态字段可以在管理形式自动显示