我正在尝试创建订单总计模块以执行一些自定义价格调整。只是为了开始这个,我只是试图让它为每一个订单增加20美元(最终放入真正的逻辑)。有关在Magento中创建订单总额的问题
我遇到了我创建的模块问题。第一个问题是,它似乎运行两次(所以它是花40美元,而不是只有20美元 - 记录显示我的收集和提取方法都运行两次)
第二个问题是,折扣订单项出现在Grand Total行的下方。
有人能告诉我我在做什么错吗?下面是我的config.xml和订单总类的内容。
config.xml的内容
<global>
<sales>
<quote>
<totals>
<mud>
<class>Wpe_Multiunitdiscount_Model_Multiunitdiscount</class>
<before>grand_total</before>
</mud>
</totals>
</quote>
</sales>
</global>
Wpe_Multiunitdiscount_Model_Multiunitdiscount内容
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;
}
}
谢谢。这似乎工作。我发现它pre tty奇怪Magento以这种方式工作,但这不是我第一次想到Magento。 –
我宁愿认为有一天我会理解为什么:) – OSdave
你仍然在错误的方式下去,只是为了让你知道,你不能修改总数! – Kenny