我有一个类似下面的项目类型。
<itemtype code="ApparelProduct" extends="Product" autocreate="true"
generate="true" jaloclass="com.jay.core.jalo.ApparelProduct">
<description>Base apparel product extension that contains additional attributes.</description>
<attributes>
<attribute qualifier="genders" type="GenderList">
<description>List of genders that the ApparelProduct is designed for</description>
<modifiers />
<persistence type="property" />
</attribute>
</attributes>
</itemtype>
我想在上面的项类型中添加一个名为spacialDiscount
的新属性。
答案 0 :(得分:6)
您只需在自己的扩展程序myextensionname-items.xml
文件中声明它,但您必须设置autocreate="false"
,因为它已由声明项目类型的第一个扩展程序创建,否则平台将在构建期间抛出错误。
你还需要省略jaloClass
属性(或者定义一个新属性,即从已经定义的属性中定义一个属性,但是将其保留下来很好,因为你可能不再使用jalo层了,因为它最终被逐步淘汰)。
请注意,您甚至可以使用属性标记内的redeclare
属性重新声明现有属性,例如<attribute qualifier="code" redeclare="true"...>
代码。
示例:
<itemtype code="ApparelProduct" extends="Product" autocreate="false"
generate="true">
<attributes>
<attribute qualifier="specialDiscount" type="myType">
<description>my new attribute</description>
<persistence type="property" />
</attribute>
</attributes>
</itemtype>
希望这有帮助。
答案 1 :(得分:1)
只需在新扩展名下添加:
apps/controller/productsController.rb
apps/model/product.rb
apps/views/product/index.html.erb
当您使用相同的'itemType'代码时,Hybris将汇总项目的* -items.xml文件中的所有定义。