如果你要登录Magento并将一些产品添加到购物篮中然后离开站点,则将保存这些产品,以备你下次返回站点时使用。
但是,这在你返回时会引起问题。如果在退货时没有登录就将产品添加到购物篮中,然后在结帐流程开始时登录,则来宾和已保存的购物篮将合并。这是不希望的。
如果你当前的购物篮中有物品,是否有任何方法可以使Magento在登录时清除保存的购物篮?
提前致谢
看起来,控制它的代码在里面Mage_Checkout_Model_Session
,特别是它的调用位置Mage_Sales_Model_Quote::merge
。这意味着你有一些选择。
sales_quote_merge_before
)的事件中,并利用该机会清空其中一个购物车。你将不得不检查何时应该执行此操作,但是到目前为止,它比其他两个方法要干净得多。让我知道是否在某种程度上不清楚。希望对你有所帮助!
谢谢乔
天才!如果用户正在从结帐处登录并且未保存的购物车中有物品,我将使用#3并关闭一个观察器模块以清除保存的购物车。
@PhilLavin如果您不介意的话,我会对某些代码感兴趣。我一直在向上和向下浏览,然后在代码周围进行一些搜索,但仍然无法正确执行。
在发布此内容时,此功能适用于社区,但不适用于企业-github.com/jacquesbh/jbh_cartmerge
@Ashfame,我们在Magento 1.9.0.1上看到来自github的模块的问题-您找到其他解决方案了吗?