2016-06-27 6 views
0

У меня есть itemtype, как показано ниже.Как добавить новый атрибут к существующему типу предметов в гибридах?

<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> 

Я хочу добавить новый атрибут с именем specialDiscount к указанному типу элемента.

ответ

0

Просто добавьте его под новым расширением:

<itemtype code="ApparelProduct" extends="Product" autocreate="false" 
     generate="true" jaloclass="com.jay.core.jalo.ApparelProduct"> 
     <attributes> 
      <attribute qualifier="specialDiscount" type="....."> 
       <description>.....</description> 
       <persistence type="property" /> 
      </attribute> 
     </attributes> 
</itemtype> 

Когда вы используете тот же код «ItemType» Hybris будет агрегировать все определения из * -items.xml файлов вашего проекта.

5

Вы можете просто объявить его в своем собственном файле расширения 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> 

Надеется, что это помогает.