0

我创建了一个新的自定义块并将其添加到before_body_end块中。当我查看页面的源代码时,我的自定义块中没有显示任何内容。你能帮我调试一下吗?

在我的模块布局 XML 文件中:

<layout version="0.1.0">
    <default>
        <reference name="before_body_end">
            <block type="tankchat/js_view" name="tankchat.js.view" as="tankchat" template="tankchat/js/view.phtml" />
        </reference>
    </default>
</layout>

我的课没有什么特别的Company_Tankchat_Block_Js_View,只有一些“getData”函数。

我的 phtml 位于,app/design/frontend/company/default/template/tankchat/js/view.phtml是的,它是很好的包和主题等。

我需要在某处添加 aecho $this->getChildHtml('tankchat')吗?我想我不是因为我的自定义块被传递给了before_body_end,但也许我错了?

任何帮助将不胜感激!

4

1 回答 1

0

好的,我终于发现出了什么问题:

我在声明我的布局文件时犯了一个错误,它需要在frontend节点中完成,而不是global!:

<config>
    <frontend>
        <layout>
            <updates>
                <tankchat>
                    <file>tankchat.xml</file>
                </tankchat>
            </updates>
        </layout>
    </frontend>
</config>

该文件甚至没有被应用程序打开...

但我也忘了在我的模块配置文件中声明块前缀:

<config>
    <global>
        <blocks>
            <tankchat>
                <class>Company_Tankchat_Block</class>
            </tankchat>
        </blocks>
    </global>
</config>

自动加载器找不到块类...

希望这对将来的人有所帮助...

于 2012-11-21T15:56:59.347 回答