Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento本地块赢得';t覆盖_Php_Xml_Magento - Fatal编程技术网

Php Magento本地块赢得';t覆盖

Php Magento本地块赢得';t覆盖,php,xml,magento,Php,Xml,Magento,我试图用本地代码池中的另一个插件覆盖本地代码池中的一个插件,但是我需要覆盖的块没有覆盖。我的配置xml中的helper很好地覆盖了代码。有没有关于我的问题的想法 我还使用了模块冲突检测器,确保我们的magento实例中没有任何冲突 我试图覆盖的模块 app/code/local/Idev/OneStepCheckout/etc/config.xml 我的模块 app/etc/modules/KNG_OneStepCheckout.xml 我发现他们的模块已经有另一个类覆盖了我试图覆盖的类。不知道

我试图用本地代码池中的另一个插件覆盖本地代码池中的一个插件,但是我需要覆盖的块没有覆盖。我的配置xml中的helper很好地覆盖了代码。有没有关于我的问题的想法

我还使用了模块冲突检测器,确保我们的magento实例中没有任何冲突

我试图覆盖的模块

app/code/local/Idev/OneStepCheckout/etc/config.xml

我的模块

app/etc/modules/KNG_OneStepCheckout.xml


我发现他们的模块已经有另一个类覆盖了我试图覆盖的类。不知道为什么我检查冲突时它没有显示为冲突

已经覆盖的类

app/code/local/Idev/OneStepCheckout/Block/Fields.php

为了使覆盖生效,我只需覆盖fields类而不是checkout类,它的工作非常出色

工作代码

app/etc/modules/KNG_OneStepCheckout.xml

<blocks>
    <onestepcheckout>
        <class>Idev_OneStepCheckout_Block</class>
    </onestepcheckout>
</blocks>
class Idev_OneStepCheckout_Block_Checkout extends Mage_Checkout_Block_Onepage_Abstract  {
    public function getBillingFieldsOrder($fields = array()){
    ....
    }
}
<config>
    <modules>
        <KNG_OneStepCheckout>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Idev_OneStepCheckout />
            </depends>
        </KNG_OneStepCheckout>
    </modules>
</config>
<global>
    <blocks>
        <onestepcheckout>
            <rewrite>
                <checkout>KNG_OneStepCheckout_Block_Checkout</checkout>
            </rewrite>
        </onestepcheckout>
    </blocks>
    <helpers>
        <onestepcheckout>
            <rewrite>
                <checkout>KNG_OneStepCheckout_Helper_Checkout</checkout>
            </rewrite>
        </onestepcheckout>
    </helpers>
</global>
class KNG_OneStepCheckout_Block_Checkout extends Idev_OneStepCheckout_Block_Checkout {
    public function getBillingFieldsOrder($fields = array()) {
    ....
    }
}
class Idev_OneStepCheckout_Block_Fields extends Idev_OneStepCheckout_Block_Checkout
{
....
}
<config>
    <modules>
        <KNG_OneStepCheckout>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Idev_OneStepCheckout />
            </depends>
        </KNG_OneStepCheckout>
    </modules>
</config>
<global>
    <blocks>
        <onestepcheckout>
            <rewrite>
                <fields>KNG_OneStepCheckout_Block_Fields</fields>
            </rewrite>
        </onestepcheckout>
    </blocks>
    <helpers>
        <onestepcheckout>
            <rewrite>
                <checkout>KNG_OneStepCheckout_Helper_Checkout</checkout>
            </rewrite>
        </onestepcheckout>
    </helpers>
</global>
class KNG_OneStepCheckout_Block_Fields extends Idev_OneStepCheckout_Block_Fields {
    public function getBillingFieldsOrder($fields = array()) {
    ....
    }
}