更新某些类别的左列/如何在布局文件中设置类别ID

时间:2010-02-03 23:09:57

标签: magento

我想在左侧显示某个类别的幻灯片。但是,我通过引用布局文件中的左列来显示所有页面中的幻灯片放映块。我们需要幻灯片放映仅出现在左侧的某个类别(ID 225)中。

到目前为止我的解决方案路线图:
1.将特定类别的URL重写为我的自定义模块/控制器/动作(测试/索引/索引)
2.在test / index / index布局文件test.xml中,我想覆盖目录句柄catalog_category_default(我通过使用Alan Storm布局视图http://alanstorm.com/category/magento得到这个),它将使用我的新幻灯片块更新左列。这是查看我的test.xml文件的方式

  

                                                    

这给了我以下错误: 致命错误:在第43行的/app/code/local/Mage/Catalog/Block/Category/View.php中的非对象上调用成员函数getMetaTitle()

从错误中我得出结论是句柄被覆盖,但是缺少类别ID,因为第43行是:

if($ title = $ this-> getCurrentCategory() - > getMetaTitle()){

如您所见,我尝试在test.xml布局文件中设置类别ID,但没有太大成功。

如何在布局文件中设置类别ID?这是可行的解决方案还是正确的方法?我真的超过了手柄吗?

谢谢Margots

1 个答案:

答案 0 :(得分:3)

在管理部分,编辑类别以应用布局更新时有一个字段,您可以在那里添加块XML。如果您希望它在代码中,那么类别页面会添加一个包含其ID的“句柄”,例如“CATEGORY_123”,您可以通过引用它来添加您的块:

<CATEGORY_123>
  <reference name="left">
    <block type=""> (etc.)
  </reference>
</CATEGORY_123>