magento购物车并不清楚

时间:2014-06-12 05:33:34

标签: php magento

我正在用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()中清空购物车  任何人都可以指导我。如何解决这个问题?

3 个答案:

答案 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(); ?>