首页 文章

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

提问于
浏览
3

我有以下问题:

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

我需要做的是使此扩展程序在没有购物车规则的情况下免费添加这些产品 . 我发现与折扣相关的唯一事件是 sales_quote_address_discount_item ,但是使用它的任何操作都没有结果 .

所以,如果有人指出我正确的方向,我将非常感激:代码中的确切应用了这个折扣,我如何从这个扩展中做出相同的改变?

3 回答

  • 2

    优惠券的折扣在 Mage_SalesRule_Model_Validator 方法的 Mage_SalesRule_Model_Validator 中应用 . 每次在报价上调用 collectTotals() 时都会调用此方法 . 您需要覆盖此类(以及可能的其他类)以覆盖优惠券行为 . 您可以使用该方法 salesrule_validator_process 中的一个事件而不是覆盖整个方法,但这取决于您需要更改的逻辑,以确定它是否出现在适合您的位置 .

  • 2

    您也可以在触发add_to_cart_after事件后添加自己的逻辑 . (例如创建自己的事件apply_discount_after_add_to_cart;)

  • 7

    看看这个模块;它可以将产品作为礼物添加到购物车中,并在添加产品时将其价格设置为0 $:http://www.code4business.de/make-a-gift-magento-warenkorbpreisregeln-um-geschenke-erweitern/ .

    为此,它捕获了两个事件salesrule_validator_process和sales_quote_collect_totals_before . 它不会重写任何东西 . 该代码也在http://www.webguys.de/magento/turchen-21-kostenlose-produkte-uber-warenkorb-preisregeln/中详细描述 .

    它需要一个定价规则 - 但只是为了确定您获得礼物的产品(或条件) . 礼物总是免费的;不需要额外的规则 .

相关问题