是否可以覆盖企业横幅包? 我要覆盖的类是在 \应用\代码\核心\企业\横幅\块\的widget \ Banner.php
这是我的config.xml的一部分:
<blocks>
<Mycomp_Banners>
<class>Mycomp_Banners_Block</class>
</Mycomp_Banners>
<widget>
<rewrite>
<banners>Mycomp_Banners_Block_Widget_Banners</banners>
</rewrite>
</widget>
</blocks>
我的文件位于:\ app \ code \ local \ Mycomp \ Banners \ Block \ Widget \ Banners.php
class Mycomp_Banners_Block_Widget_Banners extends Enterprise_Banner_Block_Widget_Banner {
// ...
}
我尝试了这个,但它对我不起作用。我很感激任何答案。 感谢
答案 0 :(得分:1)
为了重写一个块(但也可以应用于Helpers和Models,具有不同行为的控制器),你必须模仿它们在自己模块中定义的方式config.xml
所以在config.xml
的{{1}}中,块的定义方式如下:
Enterprise_Banner
所以你应该模仿这个块的定义,但是Magento实际上定义了类的位置,你实际上必须定义你想要重写的内容以及它的位置。
所以你的<?xml version="1.0"?>
<config>
<modules>
<Enterprise_Banner>
<version>1.11.0.0</version>
</Enterprise_Banner>
</modules>
<global>
<!-- nodes we don't care about -->
<blocks>
<enterprise_banner>
<class>Enterprise_Banner_Block</class>
</enterprise_banner>
</blocks>
<!-- more nodes we don't care about -->
</global>
<!-- still more nodes we don't care about -->
</config>
应该是这样的:
config.xml