繁体   English   中英

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

[英]Magento searchbox - How to add the Searchbox on the left side of a 3columns.phtml page?

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

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

因此,在3columns.phtml中,我有这条线,即左div。

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

所以* 为了使搜索框显示在左侧,我应该在 哪种代码中 添加? *

有什么建议吗?

这是设计布局文件夹中文件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">表示我们正在更改左栏,“ left”是其块名。 现在让我们看一下下面的代码块:

  • type="core/template" -此类型表示要使用的类,通常与app/code/core/Mage/*关联,但是可以通过将类文件复制到app/code/local/Mage/*来覆盖app/code/local/Mage/*目录,以及表示扩展名的类,例如app/code/community/another_extension

  • name="searchbox" -这是将在布局中引用的名称。 您可以给它其他东西,但要确保它与现有的块名不冲突。

  • template="path/to/searchbox" -在此处输入将要加载的模板文件的路径。

  • after="sibling.blockName" -这标记了它在布局顺序中的放置位置。 仅当父块(在本例中为引用的“ left”块)基本上设置为<?php echo $this->getChildHtml(''); ?>时,才真正需要设置此值<?php echo $this->getChildHtml(''); ?> <?php echo $this->getChildHtml(''); ?> ('')没有参数意味着它将按照xml定义的顺序加载所有子块。

<?php echo $this->getChildHtml('left') ?> ,它正在调用name="left"的块。 给它起一个名字之后,您也可以在<block />标记内使用as="search.box.alias"给它另一个别名, search.box.alias也可以是您想要的任何东西,只要它不会引起任何问题。冲突。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM