我正在用magento开发一个应用程序。我使用onepage checkout进行3步结账。 1.结算信息2.付款信息3.订单审核。送货信息与开票信息合并。当我下订单购物车不明白。成功下订单后如何清理购物车。但是当我把这段代码放进去的时候。
foreach( Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item )
{
Mage::getSingleton('checkout/cart')->removeItem( $item->getId() )->save();
}
购物车变得清晰,但用户会自动从订单摘要重定向到购物车页面。
我需要在OnpageController.php中的savePaymentAction()中清空购物车 任何人都可以指导我。如何解决这个问题?
答案 0 :(得分:3)
以下是两个解决方案:
答案1:Mage::getSingleton('checkout/session')->clear();
答案2:Mage::getSingleton('checkout/cart')->truncate();
答案 1 :(得分:2)
清除购物车
foreach( Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item ){
Mage::getSingleton('checkout/cart')->removeItem( $item->getId() )->save();
}
//Redirect back to order view page
$this->_redirect('*/sales_order/view', array('order_id' => $order->getId()));
//Redirect back to cart page or wherever you wish
$this->_redirect('checkout/cart');
如果您还想清除整个会话
Mage::getSingleton(‘checkout/session’)->clear();
答案 2 :(得分:1)
在下订单事件后,在ovserver中使用以下任何一个代码。
1. <?php Mage::getSingleton('checkout/cart')->truncate(); ?>
2. <?php Mage::getSingleton('checkout/session')->clear(); ?>
3. <?php $quote = Mage::getSingleton('checkout/session')->getQuote();
$quote->delete(); ?>