我正在开发在Magento的应用程序。 我一直在使用onepage结账3步结账。 1.Billing信息2.支付信息3.订单审查。 航运信息合并计费信息。 当我下订单的购物车并没有得到明确。 如何订货成功后清除购物车。 但是当我把这段代码。
foreach( Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection() as $item )
{
Mage::getSingleton('checkout/cart')->removeItem( $item->getId() )->save();
}
购物车得到明确,但用户被自动重定向从订单汇总到购物车页面。
我需要清空savePaymentAction()在OnpageController.php车任何人都可以请指导我。 如何解决这一问题?
下面是两个解决方案:
答1: Mage::getSingleton('checkout/session')->clear();
答2: Mage::getSingleton('checkout/cart')->truncate();
清除购物车
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();
下订单事件之后使用任何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(); ?>