Я пытаюсь создать модуль общей суммы заказа, чтобы выполнить некоторые пользовательские корректировки цен.Просто чтобы начать с этим, я просто пытаюсь заставить его прибавлять 20 долларов к каждому отдельному заказу (в итоге вводя реальную логику).
У меня проблемы с созданным мной модулем.Первая проблема заключается в том, что он, по-видимому, выполняется дважды (поэтому он снимает 40 долларов вместо всего лишь 20 долларов - ведение журнала показало, что оба метода - сбор и выборка выполняются дважды)
Вторая проблема заключается в том, чтопозиция скидки отображается ниже строки Итого.
Может кто-нибудь сказать мне, что я делаю здесь неправильно?Содержимое моего config.xml и класса итоговых сумм заказа ниже.
config.xml Content
<global>
<sales>
<quote>
<totals>
<mud>
<class>Wpe_Multiunitdiscount_Model_Multiunitdiscount</class>
<before>grand_total</before>
</mud>
</totals>
</quote>
</sales>
</global>
Wpe_Multiunitdiscount_Model_Multiunitdiscount Content
class Wpe_Multiunitdiscount_Model_Multiunitdiscount extends Mage_Sales_Model_Quote_Address_Total_Abstract {
public function collect(Mage_Sales_Model_Quote_Address $address) {
$address->setGrandTotal($address->getGrandTotal() + 20 );
$address->setBaseGrandTotal($address->getBaseGrandTotal() + 20);
return $this;
}
public function fetch(Mage_Sales_Model_Quote_Address $address) {
$address->addTotal(array(
'code' => $this->getCode(),
'title' => Mage::helper('sales')->__('Super Tax'),
'value' => 20,
));
return $this;
}
}