冲突的两个magento扩展

时间:2014-09-30 10:18:52

标签: magento magento-1.7 magento-1.8 magento-1.4 magento-1.5

我有两个相同的扩展名,但两者都用于不同的目的。

扩展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>   

两者的总价格相互矛盾,请帮助我如何解决这个问题。

2 个答案:

答案 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