Magento每个客户的折扣基于数量

时间:2017-02-10 17:22:25

标签: php magento magento-1.9

我需要根据每个客户的折扣表对某些产品应用折扣,但部分原因是每个客户的表中每个项目都有数量价格中断。

当物品被添加到购物车时以及如果购物车中的数量稍后更新时,最适合使用哪种观察者才能应用此折扣?

2 个答案:

答案 0 :(得分:1)

要在项目添加到购物车时设置代码,您可以使用此观察者

<events>
    <checkout_cart_save_before> 
       <observers>
         <checkout_cart_save_before_handler> 
            <type>model</type> 
            <class>Vendor_Extension_Model_Observer</class> 
            <method>AddToCartBefore</method>  
         </checkout_cart_save_before_handler>
       </observers>
    </checkout_cart_save_before>
</events>

如果购物车中有任何商品更新,您可以使用此活动。

<events>
  <checkout_cart_update_items_before>
    <observers>
      <checkout_cart_update_items_before_handler> 
        <class>Vendor_Extension_Model_Observer</class> 
        <method>UpdateCartBefore</method>  
      </checkout_cart_update_items_before_handler>
    </observers>
  </checkout_cart_update_items_before>
</events>

答案 1 :(得分:0)

我最终使用的是......

        <sales_quote_add_item>
            <observers>
                <fluidaccess>
                    <class>Magnesium_Access_Model_Observer_Product</class>
                    <method>setCartQtyProductDiscount</method>
                </fluidaccess>
            </observers>
        </sales_quote_add_item>

        <checkout_cart_update_items_before>
            <observers>
                <fluidaccess>
                    <class>Magnesium_Access_Model_Observer_Product</class>
                    <method>setCartQtyUpdateProductDiscount</method>
                </fluidaccess>
            </observers>
        </checkout_cart_update_items_before>

我使用了sales_quote_add_item而不是checkout_cart_save_before,因为我正在快速更新价格而且cart_save_before之前没有按照我想要的方式工作。