【发布时间】:2017-02-10 17:22:24
【问题描述】:
我需要根据每位客户的折扣表对某些产品应用折扣,但部分原因是表中的每个项目在每位客户的基础上都有数量价格中断。
当商品添加到购物车并且购物车中的数量稍后更新时,最好使用哪个观察者来应用此折扣?
【问题讨论】:
-
您还在寻找答案吗?
标签: php magento magento-1.9
我需要根据每位客户的折扣表对某些产品应用折扣,但部分原因是表中的每个项目在每位客户的基础上都有数量价格中断。
当商品添加到购物车并且购物车中的数量稍后更新时,最好使用哪个观察者来应用此折扣?
【问题讨论】:
标签: php magento magento-1.9
要在商品添加到购物车时设置代码,您可以使用此观察者
<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>
【讨论】:
我实际上最终使用的是......
<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 并没有按照我想要的方式工作。
【讨论】: