我無法更新購物車中的小計項目。 我創建了觀察checkout_cart_product_add_after模塊,我可以從項目獲取總價格:Magento更新小計項目
$subtotal = Mage::getSingleton('checkout/cart')->getQuote()->getSubtotal();
,但我不能更新此,對於〔實施例:
$subtotal = $subtotal + 100;
Mage::getSingleton('checkout/session')->getQuote()->setSubtotal($subtotal);
Mage::getSingleton('checkout/cart')->getQuote()->setSubtotal($subtotal);
Mage::getSingleton('checkout/session')->getQuote()->save();
Mage::getSingleton('checkout/cart')->getQuote()->save();
編輯
如果我跑在我的觀察員print_r($subtotal); exit;
我得到正確更新的小計。在購物車頁面中,我仍然有原始小計而無需更改。
EDIT 2 我試圖運行modifySubtotal功能與sales_quote_collect_totals_after事件,但我不能在購物車頁面更新的總價格見。在Observer.php下面的代碼modifySubtotal:
public function modifySubtotal(Varien_Event_Observer $observer)
{
$session = Mage::getSingleton('checkout/session');
$quote=$observer->getQuote();
$subtotal = $quote->getBaseSubtotal();
$subtotal = $subtotal +123;
$quote->setBaseSubtotal($subtotal);
$quote->save();
$subtotal2 = $quote->getBaseSubtotal();
//print_r($subtotal2);exit;
}
我會很感激任何提示和幫助。
我想你可以使用觀察者或重寫類來做到這一點。這樣做,你將失去與未來版本的兼容性,並可能有一些不可見的問題。 – 2014-03-14 18:52:00