Импорт типа коллекции локализованных строк в Hybris

У меня есть такая коллекция:

<collectiontype code="colors" elementtype="localized:java.lang.String">

и тип элемента, содержащий эту коллекцию:

<itemtype code="MyShirt" autocreate="true" generate="true">
 <attributes>
   <attribute qualifier="code" type="java.lang.String">
     <persistence type="property">
   </attribute>
   <attribute qualifier="colors" type="colors">
     <persistence type="property">
   </attribute>
 </attributes>
 </itemtype>

Так что должно быть правильным ImpEx для вставки рубашки в этот тип элемента:

   $lang=en
   INSERT_UPDATE MyShirt;code[unique=true];colors(code[lang=$lang])

Вышеупомянутое утверждение дает ошибку. Где я иду не так?

2 ответа

Здесь вы пытаетесь добавить локализованную коллекцию, но я не уверен, что Hybris позволяет вам это делать. Итак, я думаю, вам нужно изменить тип коллекции на:

<collectiontype code="colors" elementtype="java.lang.String">

Чтобы импортировать новые элементы, вы должны изменить свой головной убор Impex и удалить (code[lang=$lang]), цвета это список String не Objects которые имеют атрибут под названием codeИтак, вы должны использовать:

INSERT_UPDATE MyShirt;code[unique=true];colors
                     ;shirt_1;color1,color2,color

Но почти всегда, для такого рода требований, Hybris требуют использования Classifications, Attributes of classifications а также Attributes value classifications,

CollectionTypes устарели. Предпочитаю отношения. В вашем случае я бы представил тип элемента "Цвет" и создал бы связь между "MyShirt" и "Цвет". Для цвета вы можете создать уникальный идентификатор и повторно использовать этот цвет для всех ваших рубашек. Я абсолютно уверен, что разные рубашки могут быть одного цвета. Кроме того, вы можете локализовать свои цвета в одной точке. Вы можете быть уверены, что изменение названия цвета на определенный цвет влияет на все ваши рубашки. У этого подхода есть множество преимуществ.

Другие вопросы по тегам