我在澳大利亚的Magento商店安装了2个模块,当项目被添加到购物车时,它们都会影响报价计算。看起来好像一个模块与另一个模块冲突,我尝试获得模块创建者的帮助几乎没有提供支持。
模块如下:
futureWorks - 积分和奖励模块
MageWorld - 免费礼品模块
当这两个模块都处于活动状态时,我有Grand Total计算错误,具体而言,税收没有被添加到Grand Total中。澳大利亚法律规定,产品价格需要包含税(所有商品的固定税率为10%),而总计还需要包含已缴纳的税款,此外,发票需要显示纳税金额。顾客。
现在,当我禁用MW - 免费礼品模块时,计算似乎正常运行,这使我相信可以通过修改该模块来修复故障。在查看并测试了两个模块中的部分config.xml文件后,我发现它们都包含global > sales > quote > totals
节点的附加内容:
aheadWorks - 积分和奖励模块>等\ config.xml中
<global>
…
<sales>
<quote>
<totals>
<points>
<class>points/total_quote_points</class>
<after>wee,discount,tax,tax_subtotal,grand_total</after>
<renderer>points/checkout_total</renderer>
</points>
</totals>
</quote>
...
</sales>
</global>
MageWorld - 免费礼品模块&gt;等\ config.xml中
<global>
...
<sales>
<quote>
<totals>
<freegift>
<class>freegift/quote_address_total_freegift</class>
<after>subtotal</after>
<before>tax_subtotal,shipping</before>
</freegift>
</totals>
</quote>
</sales>
</global>
Unfortantley,这段代码在某些方面使我无法理解它的工作原理。据我所知,类节点引用每个相应模块中的某个模型,并且在计算引用的总数时,其他模型会调用类节点中引用的模型。我不知道哪个模型负责调用这些其他模型来进行报价计算。我发现只是在MageWorld模块中注释掉我上面显示的代码似乎解决了问题,我无法想象它引入了哪些其他问题。
我假设<after>
和<before>
节点影响这些计算的顺序,但我似乎无法弄清楚它是如何工作的。任何人都可以提供有关其工作原理的建议以及有关如何调试此问题的一些建议,因为目前我的商店发票没有正确显示。
答案 0 :(得分:1)
我遇到的问题是在订购总计算时Magento中实施的排序方法涉及的错误。可以在以下堆栈溢出线程中找到更深入的解释和解决方案。
Sort algorithm: Magento checkout totals sorted wrongly causing wrong shipping tax calculation