后台项目类型过滤

时间:2018-06-27 11:09:45

标签: hybris backoffice

我有一个名为InoLocation的项目,它有一个名为'InoLocationType'的枚举类型。 此枚举类型包含3个值:COUNTRY,CITY,COUNTY。 有一些导入城市和县到此项目类型的标记。 在items.xml上,我创建了一个名为“城市”的属性,其类型为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>

Cities labelCities label opened

还有一件事,

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

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码段在后台仅使“城市”可用。

<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”,并且该属性作为不可更改的属性存在。

希望这会有所帮助!

答案 1 :(得分:0)

考虑create编辑器参数:

availableValuesProvider

<wz:property qualifier="cities"> <wz:editor-parameter> <wz:name>availableValuesProvider</wz:name> <wz:value>onlyWhatIWantToDisplayProvider</wz:value> </wz:editor-parameter> </wz:property> onlyWhatIWantToDisplayProvider的实现,您必须将其声明为spring bean。