2013-08-26 60 views
1

是否有可能加入搜索框3columns.phtmlMagento搜索框 - 如何在3columns.phtml頁面的左側添加搜索框?

因此,例如,我想對我的產品頁面上的左側(就像我的類別):

所以在3columns.phtml我有這條線,左邊的div。

<div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div> 

那麼* 什麼樣的代碼,並在我應該包括爲了出現在左側的搜索框? *

有什麼建議嗎?

回答

2

這對設計佈局文件夾中的文件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也可以給它一個別名,只要它不會導致任何衝突。

+0

非常感謝你......它像一個魅力工作!謝謝你的解釋說明! – kost