0

我有一个模块(不是我创建的),如果满足某些条件,它会获取报价并应用折扣。这本身就可以正常工作。购物车规则本身也可以正常工作。

但是,在应用内置 Magento 购物车(总价)规则之前,我需要自定义模块应用相关折扣。就目前而言,Magento 首先应用,然后是自定义应用,导致 Magento 折扣在不应该存在的情况下。

什么控制模块的顺序,因此我将如何指定不同的顺序。

4

1 回答 1

2

Magento 具有collectTotals功能性(我相信这是复合模式的实现)。它的基本作用是按顺序处理每个指定的Totals Collectors并调用它的collect()方法。

您的模块的总收集器很可能在SalesRule一个(具有代码折扣)之后被调用。所以你需要做的:打开config.xml自定义折扣模块的配置文件,找到xpath config/global/sales/quote/totals/[模块别名]并添加(或更改如果存在)指令<before>discount</before>

这样,您就可以订购自定义模块的总收集器,以便在此之前应用折扣SalesRule

于 2012-10-08T18:17:36.423 回答