【发布时间】:2015-02-21 23:22:15
【问题描述】:
我正在尝试用本地代码池中的另一个插件覆盖本地代码池中的插件,但我需要覆盖的块不是覆盖。我的配置 xml 中的帮助程序覆盖得很好。任何,关于我的问题可能是什么的想法?
我还使用了 Modules Conflict Detector 并确保我们的 magento 实例中没有任何冲突。
我要覆盖的模块
app/code/local/Idev/OneStepCheckout/etc/config.xml
<blocks>
<onestepcheckout>
<class>Idev_OneStepCheckout_Block</class>
</onestepcheckout>
</blocks>
app/code/local/Idev/OneStepCheckout/Block/Checkout.php
class Idev_OneStepCheckout_Block_Checkout extends Mage_Checkout_Block_Onepage_Abstract {
public function getBillingFieldsOrder($fields = array()){
....
}
}
我的模块
app/etc/modules/KNG_OneStepCheckout.xml
<config>
<modules>
<KNG_OneStepCheckout>
<active>true</active>
<codePool>local</codePool>
<depends>
<Idev_OneStepCheckout />
</depends>
</KNG_OneStepCheckout>
</modules>
</config>
app/code/local/KNG/OneStepCheckout/etc/config.xml
<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>
app/code/local/KNG/OneStepCheckout/Block/Checkout.php
class KNG_OneStepCheckout_Block_Checkout extends Idev_OneStepCheckout_Block_Checkout {
public function getBillingFieldsOrder($fields = array()) {
....
}
}
【问题讨论】: