我已关闭缓存,但无论我在编辑管理员时做什么 - >目录 - >分类。然后单击自定义设计并编辑页面布局,并从1-3列进行布局。
没有任何变化显示出来。我已经针对默认网站和每个类别的特定网站尝试了此操作,没有反映前端的更新。我可以编辑自定义布局更新区域并使用类似:
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
或者我可以编辑local.xml文件并强制所有类别成为特定的布局:
<catalog_category_default>
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</catalog_category_default>
<catalog_category_layered>
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</catalog_category_layered>
但是我需要页面布局选项才能工作。也许这与local.xml中的布局有关,它可以从左侧和右侧添加/删除东西?作为CMS页面区域中的注释,我可以成功更改页面布局。
答案 0 :(得分:3)
我发现了这个问题。我依赖另一个主题,强制catalog_category_default总是呈现2列。这是因为更新句柄将应用的变量设置为1,忽略管理页面布局更改。
这是它正在做的事情:
<catalog_category_default>
<update handle="page_two_columns_left"/>
...
</catalog_category_default>
所以我可以覆盖它的唯一方法是来自我自己的XML更新,但它仍然不允许我从管理员更新页面布局。
<catalog_category_default>
<reference name="root">
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</catalog_category_default>
所以解决方法是将应用变量设置为0。
<catalog_category_default>
<reference name="root">
<action method="setIsHandle"><applied>0</applied></action>
<action method="setTemplate"><template>page/1column.phtml</template></action>
</reference>
</catalog_category_default>
这让我可以使用类别管理 中自定义设计标签中的类别布局
我通过找到句柄并查看它设置的变量来找到它。所以这里是page_two_columns_left的定义:
<page_two_columns_left translate="label">
<label>All Two-Column Layout Pages (Left Column)</label>
<reference name="root">
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
<!-- Mark root page block that template is applied -->
<action method="setIsHandle"><applied>1</applied></action>
<action method="setLayoutCode"><name>two_columns_left</name></action>
</reference>
</page_two_columns_left>
答案 1 :(得分:0)
不使用参考代码更改布局,而是在管理控制台中执行此操作:
转到类别/自定义设计
找到页面布局选择并使用向左或向右栏更改为2列。
答案 2 :(得分:0)
替代解决方案:
使用布局更新:
<reference name="root">
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
这样,无论is_handle
值