我有這樣的觀察者Magento的購物車數量不可
<events>
<sales_quote_add_item>
<observers>
<reservation_observer_order_save_before1>
<type>singleton</type>
<class>Mageec_Total_Model_Observer</class>
<method>updatePrice</method>
</reservation_observer_order_save_before1>
</observers>
</sales_quote_add_item>
</events>
和功能updatePrice下面去:
public function updatePrice($observer){
$event = $observer->getEvent();
$quote_item = $event->getQuoteItem();
if ($quote_item->getProductType() == "virtual"){
$new_price = (float)$quote_item->getProduct()->getPrice();
$quote_item->setOriginalCustomPrice($new_price);
$qty = Mage::getSingleton('checkout/cart')->getSummaryQty(); //return 0
$qty = $quote_item->getQty(); //return 0 too
Mage::log(print_r($qty,true));
$quote_item->setTotalPrice($new_price * $qty);
}
}
我不能讓車數量或至少quoteitem數量。我認爲這是因爲這個觀察者在購物車對象被填充之前執行。那麼在這種情況下,我可以在哪裏獲得數量?
if block never run,$ totalItemsInCart is empty –
@Portnyagin Mikhail您是否在產品添加了購物車?嘗試print_r($ totalItemsInCart)並查看集合。 – Muk
是的,我已經添加了。 print_r($ totalItemsInCart)返回0.我可以在購物車中看到產品 –