我正在努力学习Magento,但我需要一些帮助。
我想在点击“更新购物车”按钮后跟踪购物车中的产品报价更改。我发现名为 checkout_cart_update_items_after 和 checkout_cart_update_items_before 的好事件。但是我不知道如何在观察者中获得关于购物车报价变化的信息。
我取得的最好成绩是
public function Mytestupd($observer) {
$product = $observer->getData('cart');
$quote = $product->getData('quote');
$items = $quote->getAllVisibleItems();
foreach($items as $item) {
$prsku .= $item->getQty()." ";
}
}
当然,这只是给了我每个项目的旧(或新的,取决于事件)的引用。 最后我想做
echo Mage::getSingleton('checkout/session')->addSuccess("Cart Updated, your changes are: ".$changes);
其中$更改是类似的 “productOne:添加了3项; productTwo:删除了4项”
我希望我很清楚,有人会帮助我!
答案 0 :(得分:0)
拥有会话变量真的很棒。所以我可以做到
Mage::getSingleton('core/session')->setCartItems($myVals);
在checkout_cart_update_items_before
事件观察者中,稍后再做
$oldcart = Mage::getSingleton('core/session')->getCartItems();
在checkout_cart_update_items_after
事件观察者