电子商务网站针对不同类别的产品显示不同的字段。这意味着他们实现了一个动态模式。什么技术用于这种动态模式?电子商务中的动态模式
我知道使用EAV模型的Magento。其他框架,如ATG,Broadleaf,IBM Websphere商业等有没有其他选择?
感谢
电子商务网站针对不同类别的产品显示不同的字段。这意味着他们实现了一个动态模式。什么技术用于这种动态模式?电子商务中的动态模式
我知道使用EAV模型的Magento。其他框架,如ATG,Broadleaf,IBM Websphere商业等有没有其他选择?
感谢
延伸产品具有特定类别的属性在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>
然后你就可以在你的亚型增加property
和table
元素来代表特定类别的特性,如screenSize
。
从此,您可以像处理任何其他类型的产品一样处理tvProduct
。他们会在任何查询中出现类型为product
的物品 - 但是当您拥有tvProduct
的实例时,它将具有额外的screenSize
属性。
阔叶,有2种方式来添加自定义属性:
ProductImpl
Hibernate的实体表而代之。在灯架上有一个很好的教程在http://www.broadleafcommerce.com/docs/core/current/tutorials/core-tutorials/extending-entities-tutorialProductImpl
和SkuImpl
)都映射属性附加到他们,你可以无需创建一个新表或新的子类中添加自定义属性地图。随着阔叶自定义字段模块(商用模块),这些新的动态字段可以在管理形式自动显示