Magento:阻止替代会阻止phtml显示 [英] Magento: Block override stops phtml from displaying

查看:98
本文介绍了Magento:阻止替代会阻止phtml显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在研究Magento项目,并且已覆盖Page Html Header块,因为我需要更改getLogoSrc()函数的方式(我在app/code/core/Mage/Page/Block/Html中找到了此功能) /Header.php).但是我似乎做错了什么,因为header.phtml不再被绘制.

I'm working on a Magento project and I've overridden the Page Html Header block because I need to change how the getLogoSrc() function (which I found in app/code/core/Mage/Page/Block/Html/Header.php). However I seem to have done something incorrectly as header.phtml is no longer being drawn.

app/code/local/NameSpace/Customize/Block/Html/Header.php

app/code/local/NameSpace/Customize/Block/Html/Header.php

class NameSpace_Page_Block_Html_Header extends Mage_Page_Block_Html_Header
{
    ...Code...
}

app/code/local/NameSpace/Customize/etc/config.xml

app/code/local/NameSpace/Customize/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>

app/etc/modules/NameSpace_Customize.xml

app/etc/modules/NameSpace_Customize.xml

<config>
    <modules>
        <NameSpace_Customize>
            <active>true</active>
            <codePool>local</codePool>
        </NameSpace_Customize>
    </modules>
</config> 

当我删除config.xml中<global>标记内的所有内容时,标题将正确显示.

When I remove everything inside of the <global> tags in config.xml the header is displayed correctly.

这是我的第一个Magento项目,所以我可能做错了这条路.任何输入将不胜感激.

This is my first Magento project so I may have gone about this the wrong way. Any input would be appreciated.

谢谢

推荐答案

块类名称必须与它所在的文件夹匹配.

The block class name must match the folder it is in.

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>节点内部.

Make the equivalent change in config.xml too. Also the <helpers> node must be inside the <global> node.

<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>

这篇关于Magento:阻止替代会阻止phtml显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆