我们正在使用Magento Enterprise 1.10,并已实施了一种自定义的方式来提供免费送货,并且对特定产品不征税。我已成功在购物车和Onepage结帐中实现了此显示部分(步骤5)。我遇到的问题是当您点击“Place Order”时,它会删除(或重置)subTotal,grandTotal和taxAmount的自定义值。我可以在sales_flat_quote和sales_flat_quote_item表中看到,这些值是使用我给出的自定义值设置的。但是sales_flat_quote_address表中的grandTotal和taxAmount没有正确设置(不确定这是否相关,但假设)。他们正在重新计算Magento计算它们的默认方式。Magento自定义购物车/结帐值重置为“下订单”
因此,举例来说,我可能会设置一个自定义值为20美元的值。但是Magento需要产品价格和税率并重新计算。如果这是有道理的。
我已经查明,在我们的方法saveOrderAction(OnepageController.php)
if ($data = $this->getRequest()->getPost('payment', false)) {
$this->getOnepage()->getQuote()->getPayment()->importData($data);
}
这一段代码被替换我已经设置与Magento的通常是如何将他们在自定义的值:
我的问题是有什么原因,以防止上面的代码块从重新计算的值,只需使用我已经在设定值:
Mage::getSingleton('checkout/session')->getQuote()
提前致谢,