【发布时间】:2011-09-21 15:31:26
【问题描述】:
我正在尝试创建一个订单总计模块来进行一些自定义价格调整。只是为了开始这个,我只是想让它为每个订单增加 20 美元(最终放入真正的逻辑)。
我创建的模块有问题。第一个问题是它似乎运行了两次(因此它节省了 40 美元,而不是仅 20 美元——日志记录显示,收集和获取方法都运行了两次)
第二个问题是折扣行项目出现在总计行下方。
谁能告诉我我在这里做错了什么?我的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;
}
}
【问题讨论】: