這對設計佈局文件夾中的文件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