我创建了一个自定义模板,用于显示类别中的子类别。我想通过在“自定义布局更新”字段中使用xml覆盖来逐个类别地允许使用此模板脚本。我不想修改任何.xml布局文件,以便能够通过管理员仅在特定类别上应用此模板。
/theme/template/catalog/category/list.phtml< - 我的自定义模板脚本
所以我遇到了xml覆盖问题,通过类别admin中的“自定义布局更新”字段将此模板脚本添加到内容区域。这就是我所拥有的:
<reference name="content">
<action method="append">
<block type="catalog/navigation" name="collectionlist" template="catalog/category/list.phtml" />
</append>
</reference>
我得到的是该类别的空白页面,以及apache错误日志中的以下错误:
[Thu Mar 10 00:32:48 2011] [error] [client 72.201.97.195] PHP Fatal error: Call to a member function xpath() on a non-object in <server_path>/app/code/core/Mage/Core/Model/Layout.php on line 154
非常感谢任何想法。
答案 0 :(得分:2)
我怀疑你不需要指定追加方法。
<reference name="content">
<block type="catalog/navigation" name="collectionlist" template="catalog/category/list.phtml" />
</reference>
答案 1 :(得分:1)
您的XML已损坏。不要使用<action>
关闭</append>
。
通过此修复,SimpleXML将能够再次解析您的布局。