我有以下问题:
有一个第三方扩展,当用户添加某些特定产品时,它会自动将产品作为礼物添加到购物车。它还适用优惠券。例如,当用户想购买电视时,它会添加免费的 WiFi 接收器。它添加的产品足够好,但必须有购物车规则才能为这些产品提供 100% 的折扣。
我需要做的是使此扩展免费添加这些产品,而无需购物车规则。我发现与折扣相关的唯一事件是 sales_quote_address_discount_item
,但对其进行的任何操作都没有结果。
因此,如果有人为我指出正确的方向,我将非常感激:此折扣在代码中的具体应用位置以及如何通过此扩展实现相同的效果?
最佳答案
优惠券的折扣在 process()
方法的 Mage_SalesRule_Model_Validator
中应用。每次在报价上调用 collectTotals()
时都会调用此方法。您需要重写此类(以及可能的其他一些类)来重写优惠券行为。该方法 salesrule_validator_process
中有一个事件,您可以使用该事件而不是覆盖整个方法,但这取决于您需要更改什么逻辑来确定它是否发生在正确的位置你。
关于Magento - 在没有购物车规则的情况下应用折扣,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7375230/