Это мой первый пост на этой странице, поэтому, пожалуйста, не слишком сильно меня поразите :) Я хочу иметь слишком события для оформления заказа. Один из них отлично работает, а другой нет. Я не знаю, что не так в моем коде. Пожалуйста помоги.Обновление корзины наблюдателя не работает
Событие checkout_cart_product_add_after - работает хорошо, но checkout_cart_update_items_after - не работает.
config.xml
<events>
<checkout_cart_product_add_after>
<observers>
<tim_checkout_model_observer>
<type>singleton</type>
<class>Tim_Checkout_Model_Observer</class>
<method>applyTotalPrice</method>
</tim_checkout_model_observer>
</observers>
</checkout_cart_product_add_after>
<checkout_cart_update_items_after>
<observers>
<tim_checkout_model_observer>
<type>singleton</type>
<class>Tim_Checkout_Model_Observer</class>
<method>applyTotalPrices</method>
</tim_checkout_model_observer>
</observers>
</checkout_cart_update_items_after>
</events>
Tim_Checkout_Model_Observer
public function applyTotalPrice(Varien_Event_Observer $observer)
{
$item = $observer->getQuoteItem();
if ($item->getParentItem()) {
$item = $item->getParentItem();
}
if(Mage::helper('checkout/calculator')->isBarrelProduct($item->getProduct())){
$specialPrice = Mage::helper('checkout/calculator')->getProductWorth($item->getProduct());
if ($specialPrice > 0) {
$item->setCustomPrice($specialPrice);
$item->setOriginalCustomPrice($specialPrice);
$item->getProduct()->setIsSuperMode(true);
}
}
}
public function applyTotalPrices(Varien_Event_Observer $observer)
{
foreach ($observer->getCart()->getQuote()->getAllVisibleItems() as $item) {
if ($item->getParentItem()) {
$item = $item->getParentItem();
}
if(Mage::helper('checkout/calculator')->isBarrelProduct($item->getProduct())){
$specialPrice = Mage::helper('checkout/calculator')->getProductWorth($item->getProduct());
if ($specialPrice > 0) {
$item->setCustomPrice($specialPrice);
$item->setOriginalCustomPrice($specialPrice);
$item->getProduct()->setIsSuperMode(true);
}
}
}
}
Я думаю, что это не работает метод applyTotalPrices, но я не знаю, как отлаживать наблюдателей?