【问题标题】:Overriding layout of existing/sample categories in magento覆盖magento中现有/样本类别的布局
【发布时间】:2015-01-04 12:20:40
【问题描述】:

我已经安装了带有示例数据的 Magento。它有类别和产品。我在默认类别中添加了一个新类别。我按照一些教程通过 XML 更改左右侧边栏,下面是我的 xml

<?xml version="1.0"?> <layout> <catalog_category_default> <reference name="root"> <action method="setTemplate"><template>page/2columns-left.phtml</template></action> </reference> <reference name="left"> <remove name="left.permanent.callout" /> </reference> <reference name="left"> <remove name="left.newsletter" /> </reference> <reference name="left"> <remove name="cart_sidebar" /> </reference> </catalog_category_default> </layout>

对于我新创建的类别,上面的 xml 工作正常,即删除左侧边栏项目,还加载了我在 xml 中指定的 2 列布局。但是对于现有的类别,它不起作用。 我还去编辑现有的类别,并在设计选项卡中将所有内容都更改为默认值。意味着它没有从那里使用任何覆盖。 谁能告诉我这些类别页面从中获取模板的任何其他面板或xml。 提前致谢。

【问题讨论】:

  • 我只想添加 1)缓存已关闭 2)当我编辑 layout.xml 文件并添加一些非格式化(非 xml)文本时,执行停止并出现错误消息显示。这意味着系统会为这两种情况读取 XML,即一种用于我新创建的类别,另一种用于我要更改布局的现有类别。

标签: xml magento


【解决方案1】:

我认为您缺少catalog_category_layered 句柄。

<catalog_category_layered>
    <reference name="root">
        <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
    </reference>
    <reference name="left">
        <remove name="left.permanent.callout" />
        <remove name="left.newsletter" />
        <remove name="cart_sidebar" />
    </reference>
</catalog_category_layered>

【讨论】:

  • 我想在这里补充一下,现有的类别在显示设置选项卡中被标记为锚点。意味着他们将允许我们按属性过滤列表。任何标记为锚的类别都将使用节点 catalog_category_layered 中的 xml。
猜你喜欢
  • 2011-02-25
  • 2015-04-06
  • 1970-01-01
  • 1970-01-01
  • 2013-07-01
  • 2019-12-16
  • 2012-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多