我的商店中有一个类别,需要与标准Magento布局完全不同的布局。所以我创建了1column.phtml的新副本并对其进行了修改并进行了一项小改动以进行测试:
前端/测试/默认/模板/页/ 1column-lookbook.phtml
<?php
/**
* Template for Mage_Page_Block_Html
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
<head>
<?php echo $this->getChildHtml('head') ?>
</head>
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
<?php echo $this->getChildHtml('after_body_start') ?>
<div class="container">
<?php echo $this->getChildHtml('global_notices') ?>
<div class="page">
<?php echo $this->getChildHtml('header') ?>
<div class="page_content">
<div class="row">
<div class="sixcol">
<?php echo $this->getChildHtml('breadcrumbs') ?>
</div>
<div class="sixcol last">
</div>
</div>
<div class="row"><h3>Filter here</h3></div>
<div class="row"><h3>Scrolling content</h3></div>
<div class="row">
<div class="main-content">
<?php echo $this->getChildHtml('global_messages') ?>
<?php echo $this->getChildHtml('content') ?>
</div>
</div>
<?php echo $this->getChildHtml('footer') ?>
<?php echo $this->getChildHtml('before_body_end') ?>
</div>
</div>
</div>
<?php echo $this->getAbsoluteFooter() ?>
</body>
</html>
我似乎无法通过我的类别看到这一点,我尝试在page.xml和layout.xml文件中添加对它的引用。但无论我尝试过什么,我似乎无法将其显示在我的类别的页面布局下拉列表中。
答案 0 :(得分:2)
当您在magento中搜索&#34; 1column.phtml&#34;你会发现的字符串:
应用/代码/核心/法师/页的/ etc / config.xml中强>
在第45行,您将找到所需的配置
现在您可以将相同的配置结构放在您自己的模块中,如下所示:
<global>
<page>
<layouts>
<test module="page" translate="label">
<label>The test</label>
<template>page/test.phtml</template>
<layout_handle>page_test</layout_handle>
</test>
</layouts>
</page>
</global>
刷新magento缓存并转到类别编辑屏幕=&gt;自定义设计=&gt;页面布局,然后在下拉列表中选择刚刚添加的模板。
希望这有帮助。
答案 1 :(得分:1)
Magento Module for new CMS layout, but in version 1.7.0.2
http://www.magentocommerce.com/boards/viewthread/285425/#t400446
在那里有很多......
在自定义模块XML配置中添加一些条目以添加新布局
<config>
<modules>
<My_Module>
<version>0.0.0.1</version>
</My_Module>
</modules>
<global>
<page>
<layouts>
<my_layout module="page" translate="label">
<label>My Layout</label>
<template>page/mylayout.phtml</template>
<layout_handle>my_layout</layout_handle>
</my_layout>
....
不要忘记在
之后刷新缓存答案 2 :(得分:0)
查找:/App/etc/local.xml
在</global>
标记之前,添加额外的页面布局配置。
<page>
<layouts>
<lookbook module="page" translate="label">
<label>LOOK BOOK</label>
<template>page/1column-lookbook.phtml</template>
<layout_handle>page_lookbook</layout_handle>
</lookbook>
</layouts>
</page>
Thats'it。 :)
答案 3 :(得分:-1)
创建新布局的方式更好。
http://www.sundataplus.com/adding-a-new-page-layout-to-magento-1-x/
可以编辑文件:app / code / core / Mage / Page / etc / config.xml 在...和其他布局之间添加新行。
<page>
<layouts>
.
.
<home module="page" translate="label">
<label>Home</label>
<template>page/home.phtml</template>
<layout_handle>page_home</layout_handle>
</home>
.
.
</layouts>
</page>
创建新文件:template / page / home.phtml以及1column.phtml,2columns-left.phtml等。您可以复制home.phtml中其中一个列布局phtml的现有代码。根据需要修改home.phtml中的代码。