Magento - 在没有购物车规则的情况下应用折扣

标签 magento magento-1.5

我有以下问题:

有一个第三方扩展,当用户添加某些特定产品时,它会自动将产品作为礼物添加到购物车。它还适用优惠券。例如,当用户想购买电视时,它会添加免费的 WiFi 接收器。它添加的产品足够好,但必须有购物车规则才能为这些产品提供 100% 的折扣。

我需要做的是使此扩展免费添加这些产品,而无需购物车规则。我发现与折扣相关的唯一事件是 sales_quote_address_discount_item,但对其进行的任何操作都没有结果。

因此,如果有人为我指出正确的方向,我将非常感激:此折扣在代码中的具体应用位置以及如何通过此扩展实现相同的效果?

最佳答案

优惠券的折扣在 process() 方法的 Mage_SalesRule_Model_Validator 中应用。每次在报价上调用 collectTotals() 时都会调用此方法。您需要重写此类(以及可能的其他一些类)来重写优惠券行为。该方法 salesrule_validator_process 中有一个事件,您可以使用该事件而不是覆盖整个方法,但这取决于您需要更改什么逻辑来确定它是否发生在正确的位置你。

关于Magento - 在没有购物车规则的情况下应用折扣,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7375230/

相关文章:

php - 从 1.4 更新到 1.5 后的 Magento 问题

magento - 在 EE 1.13 中,从管理员清除缓存实际上并没有清除缓存

php - 获取 Magento 属性名称而不是 ID 号?

Magento - cms/页面集合 - 应用过滤器仅返回给定商店 ID 唯一的页面(即未分配给其他商店)

移动后的Magento重定向问题

php - Magento - 如何在灯箱弹出窗口中显示确认、成功、错误

php - Magento 获取可配置的第一个简单产品的 SKU

ubuntu - 在 Ubuntu 服务器上通过 composer 安装 Magento 最新版本时出现问题

php - 如何在 Magento 中添加自定义字段以订购?

Magento僵局