Общая сумма не меняется с помощью observer на странице оформления заказа в Magento 1.8
Я использую обозреватель событий на странице оформления заказа для изменения общего итога на странице оформления заказа config.xml
<?xml version="1.0"?>
<config>
<modules>
<Ranosys_SpecialPrice>
<version>0.1.3</version>
</Ranosys_SpecialPrice>
</modules>
<global>
<events>
<payment_method_is_active>
<observers>
<observer>
<type>singleton</type>
<class>Ranosys_SpecialPrice_Model_Observer</class>
<method>paymentmethod</method>
</observer>
</observers>
</payment_method_is_active>
</events>
</global>
Observer.php
<?php
class Ranosys_SpecialPrice_Model_Observer {
public function paymentmethod(Varien_Event_Observer $observer)
{
$method = $observer->getEvent()->getMethodInstance();
$quote = $observer->getEvent()->getQuote();
if($method->getCode()=='cashondelivery')
{
$quote->setGrandTotal(round($quote->getGrandTotal()));
$quote->save();
Mage::log(var_export($quote->debug(), TRUE), null, 'order.log');
}
return $this;
}
}
Когда я проверяю order.log, он показывает округление общей суммы, но не отображается на странице оформления заказа. Как я могу показать измененную общую сумму на странице оформления заказа.
2
Author: Ramkishan Suthar, 2017-01-16
1 answers
Вы можете сделать это, используя коллектор после
Mage_sales_model_quote_адрес_тотал_гранд
И установите общий итог, используя setGrandTotal.
Проверьте эту ссылку для справки. Вы можете просто использовать коллектор для обновления только общего итога. Ссылка
4
Author: Asheem Patro, 2017-01-16 06:45:45