我有两个相同的扩展名,但两者都用于不同的目的。
扩展A Config.xml
<config>
<modules>
<Mageworks_Fee>
<version>0.1.5</version>
</Mageworks_Fee>
</modules>
<global>
<sales>
<quote>
<totals>
<fee>
<class>fee/sales_quote_address_total_fee</class>
<renderer>fee/checkout_totals_fee</renderer>
<admin_renderer>fee/adminhtml_sales_order_create_totals_fee</admin_renderer>
</fee>
</totals>
</quote>
<order_invoice>
<totals>
<fee>
<class>fee/sales_order_total_invoice_fee</class>
</fee>
</totals>
</order_invoice>
<order_creditmemo>
<totals>
<fee>
<class>fee/sales_order_total_creditmemo_fee</class>
</fee>
</totals>
</order_creditmemo>
</sales>
</global>
</config>
扩展B Config.xml
<config>
<modules>
<Mageworks_Insurance>
<version>0.1.5</version>
</Mageworks_Insurance>
</modules>
<global>
<sales>
<quote>
<totals>
<insurance>
<class>insurance/sales_quote_address_total_insurance</class>
<before>fee</before>
<renderer>insurance/checkout_totals_insurance</renderer>
<admin_renderer>insurance/adminhtml_sales_order_create_totals_insurance</admin_renderer>
</insurance>
</totals>
</quote>
<order_invoice>
<totals>
<insurance>
<class>insurance/sales_order_total_invoice_insurance</class>
</insurance>
</totals>
</order_invoice>
<order_creditmemo>
<totals>
<insurance>
<class>insurance/sales_order_total_creditmemo_insurance</class>
</insurance>
</totals>
</order_creditmemo>
</sales>
</global>
</config>
两者的总价格相互矛盾,请帮助我如何解决这个问题。
答案 0 :(得分:2)
这与我遇到的问题相同,目前您只在一个扩展程序中添加之前标记,因此请删除此行。
<before>fee</before>
您必须在两个扩展程序中设置之后和前标记。
在Extension Config.xml文件中使用此
<after>subtotal,discount,shipping</after>
<before>tax,grand_total</before>
并在Extension B Config.xml文件中使用此
<after>fee</after>
<before>tax,grand_total</before>
希望这会对你有所帮助
答案 1 :(得分:0)
Magento使用的排序算法不稳定,可能导致错误的结果。您可以使用此补丁:https://stackoverflow.com/a/11954867/288568