2016-05-06 5 views
0

Мне нужно изменить grandtotal и basetotal значения в цитате, я добавил наблюдателя на checkout_controller_onepage_save_shipping_method, он работает, я уже написал логику для изменения значений, но главная проблема в том, что я не могу сохранить квоту, и она возвращает меня не редактируемые значения. Наверное, основная проблема, которую отправили заголовки, но каким образом я могу это сделать?Изменение наблюдателя Цитировать Magento

public function checkTotals(Varien_Event_Observer $observer) 
{ 
    $quote  = Mage::getSingleton('checkout/type_onepage')->getQuote(); 

    $grandTotal = 1 

    $quote->setData('grand_total', $grandTotal); 
    $quote->setData('base_grand_total', $grandTotal); 
    $quote->save(); 
} 

ответ

0

Проблема не решена. У меня была проблема с API PayPal, и когда один из добавлений добавлял 2% к цене из-за PayPal, он нарушил вызов API на paypal. Проблема заключалась в методе сохранения, который пересчитывает итоговые значения в Квоте, снова принимает значения из корзины, и вы не можете просто изменить цены или что-то еще. Если вы хотите сделать что-то вроде добавления нескольких процентов к цене, вам нужно создать какой-либо элемент в квоте или ценовом правиле или просто скрытый элемент в корзине, который позволит изменить.

Смежные вопросы