为输出类别添加新布局到magento

时间:2012-08-11 23:28:52

标签: magento layout

我有类别的自定义布局。


<CATEGORY_8>
       <reference name="root">
           <action method="setTemplate"><template>page/category_8.phtml</template></action>
       </reference>
       <reference name="left">
           <block type="catalog/category_view" name="catalog.leftnav.within" before="-" template="catalog/layer/within.phtml   "/>
       </reference>
       <reference name="category.products">
           <action method="setTemplate"><template>catalog/category/8/view.phtml</template></action>
       </reference>
       <reference name="catalog.leftnav">
           <action method="setTemplate"><template>catalog/layer/view_8.phtml</template></action>
       </reference>
       <reference name="product_list">
           <action method="setTemplate"><template>catalog/product/list_8.phtml</template></action>
       </reference>
   </CATEGORY_8>

我想创建新的布局,我想将此布局应用于类别。 我创建了新的布局

<page_new_new module="page" translate="label">
<label>Layout new</label>
<template>page/category_8.phtml</template>
<layout_handle>page_new_new</layout_handle>
</page_new_new>

如何为此布局设置模板?

我不想在admin中使用“自定义布局更新”字段。 我只想使用“页面布局”字段?

1 个答案:

答案 0 :(得分:0)

我会将布局xml块(您的第一个代码部分与CATEGORY_8)插入design/frontend/*/*/layout/page.xml(您的实际前端设计文件夹,最可能是默认/默认)并使用简单的config.xml创建扩展名,像这样的东西:

<?xml version="1.0"?>
<config>
  <global>  
    <page>
      <layouts>
        <page_new_new module="page" translate="label">
        <label>Layout new</label>
        <template>page/category_8.phtml</template>
        <layout_handle>page_new_new</layout_handle>
        </page_new_new>
      </layouts>
    </page>
  </global>
</config>

要创建扩展程序,只需在app/code/local目录中创建文件夹结构:

 YourCompanyName/ModuleNameYouLike/etc 

并将此[config.xml]放入,您还需要app/etc/modules目录中的xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <modules>     
    <YourCompanyName_ModuleNameYouLike>
      <active>true</active>
      <codePool>local</codePool>
      <depends>
        <Mage_Page />
      </depends>
    </YourCompanyName_ModuleNameYouLike>
  </modules>
</config>

刷新配置和布局缓存后,您会看到Layout new下拉列表中的Page layout页面。