1

我有一个名为 InoLocation 的项目,它有一个名为“InoLocationType”的枚举类型。此枚举类型包含 3 个值:COUNTRY、CITY、COUNTY。有一些进口城市和县到这个项目类型。在 items.xml 上,我创建了一个名为“cities”的属性,它的类型是 InoLocation。

默认情况下,“城市”返回所有枚举类型。我想过滤这些枚举,只需在后台显示 CITY 类型。

可能吗?

<enumtypes>
    <enumtype code="InoLocationType" >
        <value code="COUNTRY"></value>
        <value code="CITY"></value>
        <value code="COUNTY"></value>
    </enumtype>
</enumtypes>

<itemtypes>
    <itemtype generate="true"
              code="InoLocation"
              jaloclass="com.inomera.hybris.custom.location.jalo.InoLocation"
              extends="GenericItem"
              autocreate="true">
        <deployment table="ino_location" typecode="11115"/>

        <attributes>

            <attribute qualifier="code" type="java.lang.String">
                <description>City's Plate Code</description>
                <modifiers initial="true"/>
                <persistence type="property"/>
            </attribute>

            <attribute qualifier="name" type="java.lang.String">
                <description>Location Name</description>
                <modifiers initial="true"/>
                <persistence type="property"/>
            </attribute>

            <attribute qualifier="parent" type="InoLocation">
                <description>Selected location's parent location</description>
                <modifiers read="true" write="true" search="true"/>
                <persistence type="property"/>
            </attribute>

            <attribute qualifier="type" type="InoLocationType">
                <description>Location Type</description>
                <modifiers initial="true"/>
                <persistence type="property"/>
            </attribute>


        </attributes>

    </itemtype>
</itemtypes>

城市标签城市标签打开

还有一件事,

这些屏幕来自后台,它们作为模型返回,我希望它们返回它们的“名称”属性。

4

2 回答 2

0

考虑availableValuesProvider编辑器参数:

<wz:property qualifier="cities">
    <wz:editor-parameter>
         <wz:name>availableValuesProvider</wz:name>
         <wz:value>onlyWhatIWantToDisplayProvider</wz:value>
     </wz:editor-parameter>
</wz:property>

onlyWhatIWantToDisplayProvider是一个ReferenceEditorSearchFacade你必须声明为spring bean的实现。

于 2018-12-24T17:09:15.767 回答
0

您可以使用以下代码段在后台仅提供“CITY”。

<attribute qualifier="type" type="InoLocationType">
   <description>Location Type</description>
   <defaultvalue>em().getEnumerationValue("InoLocationType", "CITY")</defaultvalue>
   <modifiers optional="false" read="true" write="false"/>
    <persistence type="property"/>
</attribute>

这将使属性类型的默认值启用为“CITY”,并且该属性作为不可更改的属性存在。

希望这可以帮助!

于 2018-06-27T15:32:18.437 回答