После обновления корзины получите старые и новые котировки каждого товара


Я очень стараюсь выучить Magento, но мне нужна помощь.

Я хочу отслеживать изменения котировок товаров в корзине после нажатия кнопки "обновить корзину". Я нашел приятные события под названием checkout_cart_update_items_ после и checkout_cart_update_items_before.

Но я не знаю, как получить информацию об изменениях котировок корзины в observer.

Лучшее, чего я добился, было

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 ("проверка/сеанс")->Addsuccess ("Корзина обновлена, ваши изменения:".$изменения);

Где $changes - это что-то вроде

productOne: 3 items added;
productTwo: 4 items removed

Я надеюсь, что это было достаточно ясно, и кто-нибудь мне поможет!

Author: Amit Bera, 2016-01-27

1 answers

Здорово иметь переменные сеанса. Так что я мог бы сделать

Mage::getSingleton('core/session')->setCartItems($myVals);

В checkout_cart_update_items_before Наблюдателе событий и позже выполните

$oldcart = Mage::getSingleton('core/session')->getCartItems();

В checkout_cart_update_items_after Наблюдателе событий

 2
Author: Paradoxetion, 2016-01-27 23:49:02