如何在 Hybris 中声明类型为 "HybrisEnumValue" in items.xml 的属性?
How to declare an attribute of type "HybrisEnumValue" in items.xml in Hybris?
我有一个用例,我试图在 items.xml 内声明一个具有 HybrisEnumValue
类型属性的新项目类型。
但是,当我尝试进行 ant 构建时,我总是会在此属性上遇到构建错误 - 由于缺少类型 HybrisEnumValue 而导致的错误。
这是我的 Items.xml 条目:
<itemtype code="xyz" generate="true" autocreate="true">
<deployment table="xyz" typecode="1"/>
<attributes>
<attribute type="HybrisEnumValue" qualifier="def">
<persistence type="property"/>
<modifiers read="true" write="true" search="true" optional="true" />
</attribute>
</attributes>
</itemtype>
HybrisEnumValue
不是类型,它实际上是一个接口,您不能在 items.xml 中将其定义为对象类型。
要在模型中定义枚举值,您需要先使用 enumtype
标签定义枚举值。
<enumtype generate="true" code="ColorEnum" autocreate="true"
dynamic="true">
<value code="BLACK" />
<value code="BLUE" />
<value code="BROWN" />
<value code="GREEN" />
</enumtype>
您可以选择是否使您的 enumType 动态化。动态意味着您也可以在运行时添加值。 确保在 itemType 上方定义 enumType。
点这里EnumType
现在像这样在模型中定义 enumType ..
<itemtype code="xyz" generate="true" autocreate="true">
<deployment table="xyz" typecode="1"/>
<attributes>
<attribute type="ColorEnum" qualifier="color">
<persistence type="property"/>
<modifiers read="true" write="true" search="true" optional="true" />
</attribute>
</attributes>
</itemtype>
全部执行,它会生成 ColorEnum.java,实际上 implements HybrisEnumValue
。
我有一个用例,我试图在 items.xml 内声明一个具有 HybrisEnumValue
类型属性的新项目类型。
但是,当我尝试进行 ant 构建时,我总是会在此属性上遇到构建错误 - 由于缺少类型 HybrisEnumValue 而导致的错误。
这是我的 Items.xml 条目:
<itemtype code="xyz" generate="true" autocreate="true">
<deployment table="xyz" typecode="1"/>
<attributes>
<attribute type="HybrisEnumValue" qualifier="def">
<persistence type="property"/>
<modifiers read="true" write="true" search="true" optional="true" />
</attribute>
</attributes>
</itemtype>
HybrisEnumValue
不是类型,它实际上是一个接口,您不能在 items.xml 中将其定义为对象类型。
要在模型中定义枚举值,您需要先使用 enumtype
标签定义枚举值。
<enumtype generate="true" code="ColorEnum" autocreate="true"
dynamic="true">
<value code="BLACK" />
<value code="BLUE" />
<value code="BROWN" />
<value code="GREEN" />
</enumtype>
您可以选择是否使您的 enumType 动态化。动态意味着您也可以在运行时添加值。 确保在 itemType 上方定义 enumType。
点这里EnumType
现在像这样在模型中定义 enumType ..
<itemtype code="xyz" generate="true" autocreate="true">
<deployment table="xyz" typecode="1"/>
<attributes>
<attribute type="ColorEnum" qualifier="color">
<persistence type="property"/>
<modifiers read="true" write="true" search="true" optional="true" />
</attribute>
</attributes>
</itemtype>
全部执行,它会生成 ColorEnum.java,实际上 implements HybrisEnumValue
。