Magento searchbox - 如何在3 columns.html页面的左侧添加搜索框?

时间:2013-08-26 15:20:21

标签: php magento

是否可以在 3columns.phtml 中添加搜索框(例如我的类别。)

例如,我想在左侧的产品页面上找到:

所以在3columns.phtml中我有这一行,左边的div。

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

所以* 我应该包含哪种代码和 以便搜索框出现在左侧? *

有什么建议吗?

1 个答案:

答案 0 :(得分: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"的块。在为其命名后,您可以使用as="search.box.alias"标记中的<block />为其提供另一个别名,search.box.alias也可以是您想要的任何内容,前提是它不会导致任何冲突。< / p>