【问题标题】:How to disable OOTB entryMergeFilterConfigurableProduct in custom extension?如何在自定义扩展中禁用 OOTB entryMergeFilterConfigurableProduct?
【发布时间】:2020-05-14 10:16:11
【问题描述】:

我想禁用 Hybris OOTB 提供的条目过滤器之一(entryMergeFilterConfigurableProduct)。由于这个过滤器,一些购物车条目被合并了,尽管它不应该按照我们的业务逻辑。

我想覆盖自定义扩展中的定义。但它没有按预期工作。

OOTB xml 代码:

    <alias name="defaultEntryMergeStrategy" alias="entryMergeStrategy"/>
        <bean id="defaultEntryMergeStrategy" class="de.hybris.platform.commerceservices.order.strategies.impl.DefaultEntryMergeStrategy">
        <property name="entryMergeFilters" ref="commerceCartEntryMergeFilters"/>
    </bean>


<bean id="entryMergeFilterConfigurableProduct" class="de.hybris.platform.commerceservices.order.impl.EntryMergeFilterConfigurableProduct">
        <property name="productConfigurableChecker" ref="productConfigurableChecker" />
    </bean>

    <bean id="entryMergeFilterIsEntryUpdatable" class="de.hybris.platform.commerceservices.order.impl.EntryMergeFilterIsEntryUpdatable">
        <property name="entryOrderChecker" ref="commerceOrderEntryModifiableChecker" />
    </bean>

    <bean id="entryMergeFilterPointOfService" class="de.hybris.platform.commerceservices.order.impl.EntryMergeFilterPointOfService"/>

    <bean id="entryMergeFilterGiveAway" class="de.hybris.platform.commerceservices.order.impl.EntryMergeFilterGiveAway"/>

    <bean id="entryMergeFilterProduct" class="de.hybris.platform.commerceservices.order.impl.EntryMergeFilterProduct"/>

    <bean id="entryMergeFilterUnits" class="de.hybris.platform.commerceservices.order.impl.EntryMergeFilterUnits"/>

    <bean id="entryMergeFilterEntryGroup" class="de.hybris.platform.commerceservices.order.impl.EntryMergeFilterEntryGroup"/>

    <util:list id="commerceCartEntryMergeFilters" value-type="de.hybris.platform.commerceservices.order.EntryMergeFilter">
        <ref bean="entryMergeFilterEntryGroup"/>
        <ref bean="entryMergeFilterGiveAway"/>
        <ref bean="entryMergeFilterProduct"/>
        <ref bean="entryMergeFilterUnits"/>
        <ref bean="entryMergeFilterPointOfService"/>
        <ref bean="entryMergeFilterConfigurableProduct"/>
        <ref bean="entryMergeFilterIsEntryUpdatable"/>
    </util:list>

您能否告诉我需要更改哪些内容才能禁用特定过滤器?

【问题讨论】:

标签: xml spring configuration cart hybris


【解决方案1】:

为此,ListMegreDerective 可能会有所帮助,但尚未引入删除功能。这仅适用于 populators 列表。 https://help.sap.com/viewer/b490bb4e85bc42a7aa09d513d0bcb18e/1905/en-US/515ccff5d01b427f851694fb8ec989e6.html

通常的解决方案是覆盖 bean,例如 entryMergeFilterProduct 或为没有特定过滤器的过滤器定义新 bean 并创建别名。

<alias name="customizedYourAssignedCartEntryMergeFilters" alias="commerceCartEntryMergeFilters"/>


<util:list id="customizedYourAssignedCartEntryMergeFilters" value-type="de.hybris.platform.commerceservices.order.EntryMergeFilter">
    <ref bean="entryMergeFilterEntryGroup"/>
    <!-Your list of the Filters-->
</util:list>

【讨论】:

  • 欢迎并感谢您的贡献。如果可能,请尽量避免在答案中发布链接。它们最终可能会被破坏或指向未来不同的东西。
猜你喜欢
  • 1970-01-01
  • 2020-06-22
  • 1970-01-01
  • 2023-01-04
  • 2019-02-09
  • 1970-01-01
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多