我创建了一个新的自定义块并将其添加到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
,是的,它是好的包装和主题等。
我是否需要在echo $this->getChildHtml('tankchat')
处添加?我想我没有,因为我的自定义块被传递给before_body_end
,但也许我错了?
任何帮助都将受到高度赞赏!
答案 0 :(得分: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>
autoloader找不到块类...
希望这将有助于将来的某个人......