You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hybris:如何将组件限制为多个Item Type?

解决方案

方案1:用restrictToTypes多值配置(推荐)

Hybris Backoffice部分编辑器支持复数形式的restrictToTypes参数,能直接传入多个类型代码,用逗号分隔就行。修改配置如下:

<wz:property qualifier="userGroup">
    <wz:editor-parameter>
        <wz:name>restrictToTypes</wz:name>
        <wz:value>B2BCustomer,B2BSupplier</wz:value>
    </wz:editor-parameter>
</wz:property>

注意:不同Hybris版本对这个参数的支持可能有区别,得先确认你的版本兼容。

方案2:自定义过滤查询(全版本兼容)

如果restrictToTypes不管用,就用filterQuery参数,通过Flexible Search语句精准过滤目标类型:

<wz:property qualifier="userGroup">
    <wz:editor-parameter>
        <wz:name>filterQuery</wz:name>
        <wz:value>
            SELECT {pk} FROM {B2BUnit} WHERE {itemtype} IN ('B2BCustomer','B2BSupplier')
        </wz:value>
    </wz:editor-parameter>
</wz:property>

这种方式直接用查询限定可选范围,兼容性拉满,所有支持filterQuery的编辑器都能用。

方案3:扩展编辑器逻辑(复杂场景用)

要是上面两种配置都满足不了需求,就自定义一个编辑器后置处理器,从代码层面过滤掉Partners类型:

  • 写个类实现PostFetchOperation接口
  • 在perform方法里筛选出B2BCustomer和B2BSupplier类型的实例
  • 最后在Backoffice配置里指定这个处理器:
<wz:property qualifier="userGroup">
    <wz:editor-parameter>
        <wz:name>postFetchOperation</wz:name>
        <wz:value>customB2BUnitFilterOperation</wz:value>
    </wz:editor-parameter>
</wz:property>

这种方式适合需要额外业务逻辑过滤的场景,就是开发成本高点。

内容的提问来源于stack exchange,提问作者Kajal T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 16:40:13