0

我有一个这样的集合:

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

以及包含此集合的 itemtype:

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

那么在这个 itemtype 中插入衬衫的正确 ImpEx 应该是什么:

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

上面的语句给出了错误。我哪里出错了?

4

2 回答 2

1

在这里,您尝试添加本地化集合,但我不确定 Hybris 是否允许您这样做。因此,我认为您需要将集合类型更改为:

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

要导入新元素,您必须更改 Impex hedear 和 remove (code[lang=$lang]), colors 是一个String没有Objects名为 属性的列表code,因此您必须使用:

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

但是,几乎在这种情况下,Hybris 要求使用Classifications,Attributes of classificationsAttributes value classifications.

于 2018-02-26T14:19:10.800 回答
1

CollectionTypes 已被弃用。偏爱关系。在您的情况下,我将引入一个项目类型“颜色”并在“我的衬衫”和“颜色”之间创建一个关系。对于颜色,您可以创建一个独特的 id,并将该颜色重复用于所有衬衫。我绝对确定,不同的衬衫可能有相同的颜色。此外,您可以在某一点本地化您的颜色。您可以确定为某种颜色更改颜色名称会对您的所有衬衫产生影响。这种方法有很多优点。

于 2018-02-26T14:27:39.150 回答