我正在开发一个Magento项目并且我已经覆盖了Page Html Header块,因为我需要更改getLogoSrc()
函数(我在app / code / core / Mage中找到的函数) /Page/Block/Html/Header.php)。但是,由于header.phtml不再被绘制,我似乎做错了。
应用程序/代码/本地/名称空间/定制/块/ HTML / header.php文件
class NameSpace_Page_Block_Html_Header extends Mage_Page_Block_Html_Header
{
...Code...
}
应用程序/代码/本地/名称空间/定制的/ etc / config.xml中
<config>
<modules>
<NameSpace_Customize>
<version>0.1.0</version>
</NameSpace_Customize>
</modules>
<helpers>
<customize>
<class>NameSpace_Customize_Helper</class>
</customize>
</helpers>
<global>
<blocks>
<page>
<rewrite>
<html_header>NameSpace_Page_Block_Html_Header</html_header>
</rewrite>
</page>
</blocks>
</global>
</config>
应用程序的/ etc /模块/ NameSpace_Customize.xml
<config>
<modules>
<NameSpace_Customize>
<active>true</active>
<codePool>local</codePool>
</NameSpace_Customize>
</modules>
</config>
当我删除config.xml中<global>
标记内的所有内容时,标题会正确显示。
这是我的第一个Magento项目,所以我可能以错误的方式解决了这个问题。任何输入将不胜感激。
由于
答案 0 :(得分:3)
块类名必须与它所在的文件夹匹配。
class NameSpace_Customize_Block_Html_Header extends Mage_Page_Block_Html_Header
{
// do not write any more in here until you've tested at least once
}
在config.xml中进行等效更改。此外,<helpers>
节点必须位于<global>
节点内。
<config>
<modules>
<NameSpace_Customize>
<version>0.1.0</version>
</NameSpace_Customize>
</modules>
<global>
<helpers>
<customize>
<class>NameSpace_Customize_Helper</class>
</customize>
</helpers>
<blocks>
<page>
<rewrite>
<html_header>NameSpace_Customize_Block_Html_Header</html_header>
</rewrite>
</page>
</blocks>
</global>
</config>