2013-08-26 45 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