这对设计布局文件夹中的文件local.xml非常有用。如果您尚未创建一个呢,它会:
/app/design/frontend/your_package/your_theme/layout/local.xml
local.xml中
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
<reference name="left">
<block type="core/template" name="searchbox" template="path/to/searchbox.phtml" after="sibling.blockName"/>
</reference>
</default>
</layout>
刷新缓存,并且应该设置有左列所有网页的工作。
说明
这是其中的Magento已经内置加载布局块为数不多的方法之一。第一对标签是所有布局文件所必需的,<default>
标志着更新句柄应用于所有页面。 <reference name="left">
表示我们正在更改左栏,“左”是它的块名称。现在让我们来看看下面的块:
type="core/template"
- 这种类型的表示要使用的类,绑app/code/core/Mage/*
一般,但可以通过复制类文件转移到app/code/local/Mage/*
目录,以及为意味着覆盖扩展类如app/code/community/another_extension
。
name="searchbox"
- 这是它将在布局中引用的名称。你可以给它别的东西,但要确保它与现有的块名不冲突。
template="path/to/searchbox"
- 这是您输入要加载的模板文件的路径的位置。
after="sibling.blockName"
- 这标志着它在布局顺序中的位置。当父块(在这种情况下,引用的“左”块)基本上被设置为<?php echo $this->getChildHtml(''); ?>
时,这仅仅需要被设置。 ('')
中没有参数意味着它将按xml定义的顺序加载所有子块。
在<?php echo $this->getChildHtml('left') ?>
的情况下,它调用具有name="left"
块。给它一个名字后,您可以通过在<block />
标记中使用as="search.box.alias"
,search.box.alias
也可以给它一个别名,只要它不会导致任何冲突。
非常感谢你......它像一个魅力工作!谢谢你的解释说明! – kost