我希望当客户注册产品(在后端选择)应添加到购物车时。我这样做了:
$product = Mage::getModel('catalog/product')
->setStoreId(Mage::app()->getStore()->getId())
->load(154);
$cart = Mage::getSingleton('checkout/cart');
$cart->addProduct($product, 1)->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
在createPostAction()中的AccountController.php中。
但它没有显示,但每当顾客购买任何东西时都会被添加到购物车中。我做错了什么......?
-Thnx提前。
答案 0 :(得分:0)
问题是,会话中的引用对象已经收集了总计,并且在保存购物车时不再这样做。因此,即使已成功添加和保存报价项目,报价的项目计数也为零。像这样修改你的代码:
$cart->product($product, 1);
$cart->getQuote()->setData('totals_collected_flag', false);
$cart->save();
这应该可以解决问题。
建议:在听customer_register_success
事件的观察者中实现此功能会不会更好?