在我工作的一家magento商店,我遇到了一些订单问题(问题是由于magento默认以2的精度四舍五入价格,而4也需要税收)。
我已修复此问题,因此新订单与核心总和一起存储,但有些订单需要重新计算。
一种方法是循环遍历orders和order_items表并设置正确的总和。
但是有很多专栏,其中一些专栏并不是很自我说话(如hidden_tax_amount)。
我肯定知道original_price和tax_percent是正确的,然后我有数量,所以我相信一些重新计算可以轻松完成,但只有我知道规则。
所以,你知道吗?
答案 0 :(得分:0)
Mage_Sales_Model_Quote
有一个方法collectTotals()
。此方法用于计算所有价格和税收数据。订单是根据报价创建的(大多数数据只是从报价到订单复制)。这很难重新计算所有订单数据。
您可以查看Mage_Sales_Model_Service_Quote
课程及其方法submitOrder()
。
或者您可以尝试加载订单,然后获取其引用($order->getQuote()
),然后在collectTotals()
对象上运行$quote
。最后,在foreach
之类的循环中,您可以将所需的值从报价复制到订单。不要忘记save()
两个对象。