Des*_*kin 4 overriding block magento
嗨,我在覆盖magento核心块时遇到了一些问题.在我的模块中,我需要覆盖Mage_Catalog_Block_Navigation
<blocks>
<catalog>
<rewrite>
<navigation>Mycompany_Mymodule_Catalog_Block_Navigation</navigation>
</rewrite>
</catalog>
</blocks>
Run Code Online (Sandbox Code Playgroud)
但是已经被另一家公司的另一个magento扩展覆盖了:
<blocks>
<catalog>
<rewrite>
<navigation>Othercompany_Othermodule_Block_Navigation</navigation>
</rewrite>
</catalog>
</blocks>
Run Code Online (Sandbox Code Playgroud)
两个扩展都覆盖了不同的方法,并且它们不知道彼此相邻,但magento读取第二个公司覆盖而不是我的.我不想使用模块依赖项.有没有办法不打破两个扩展功能.
是的,您必须决定哪一个正式覆盖核心Block.让那个继承那个没有做覆盖的那个,并让那个继承核心的那个.
My_Custom_Block extends Other_Custom_Block
Other_Custom_Block extends Mage_Core_Block
Mage_Core_Block extends Whatever_Magento_Wants
Run Code Online (Sandbox Code Playgroud)
编辑config.xml文件,以便只有My_Custom_Block是覆盖核心块的那个.
编辑 这是您需要的XML:
<blocks>
<catalog>
<rewrite>
<navigation>Mycompany_Mymodule_Catalog_Block_Navigation</navigation>
</rewrite>
</catalog>
</blocks>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3428 次 |
| 最近记录: |