如何使用自定义模板和自定义布局更新通过管理员修改类别页面

时间:2011-03-10 07:34:06

标签: php xml zend-framework magento

我创建了一个自定义模板,用于显示类别中的子类别。我想通过在“自定义布局更新”字段中使用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

非常感谢任何想法。

2 个答案:

答案 0 :(得分:2)

我怀疑你不需要指定追加方法。

<reference name="content">
    <block type="catalog/navigation" name="collectionlist" template="catalog/category/list.phtml" />
</reference>

答案 1 :(得分:1)

您的XML已损坏。不要使用<action>关闭</append>

通过此修复,SimpleXML将能够再次解析您的布局。