Warm tip: This article is reproduced from serverfault.com, please click

其他-如何在登录时停止Magento合并购物篮?

(其他 - How do I stop Magento merging the basket on login?)

发布于 2011-04-12 15:57:24

如果你要登录Magento并将一些产品添加到购物篮中然后离开站点,则将保存这些产品,以备你下次返回站点时使用。

但是,这在你返回时会引起问题。如果在退货时没有登录就将产品添加到购物篮中,然后在结帐流程开始时登录,则来宾和已保存的购物篮将合并。这是不希望的。

如果你当前的购物篮中有物品,是否有任何方法可以使Magento在登录时清除保存的购物篮?

提前致谢

Questioner
Phil Lavin
Viewed
11
Joseph Mastey 2011-04-13 04:10:36

看起来,控制它的代码在里面Mage_Checkout_Model_Session,特别是它的调用位置Mage_Sales_Model_Quote::merge这意味着你有一些选择。

  1. 重写会话类,并强制它不引起合并。
  2. 覆盖报价类,并使其从不合并购物车。如果系统的其他部分也尝试合并购物车,则此方法可能存在次要错误。
  3. 挂接到引用调用(sales_quote_merge_before的事件中,并利用该机会清空其中一个购物车。你将不得不检查何时应该执行此操作,但是到目前为止,它比其他两个方法要干净得多。

让我知道是否在某种程度上不清楚。希望对你有所帮助!

谢谢乔