将Magento中的搜索框移动到主页面

时间:2014-01-26 05:29:54

标签: magento search magento-1.7

我正在尝试将搜索框移动到我的主页面中。具体来说,在我的'col-main'部分(主要部分)的开头。我用Google搜索了问题并且已经尝试了几个小时,而且我真的在苦苦挣扎......

我从'default / modern / layout / catalogsearch.xml'页面复制了这个:

<default>
    <reference name="top.bar">
        <block type="core/template" name="top.search" as="topSearch" template="catalogsearch/form.mini.phtml"/>
    </reference>
</default>

并将其粘贴到我的'default / modern / layout / page.xml'页面,'Page Header'下和'Left Column'之前。

然后我进入'default / modern / template / page / 3columns.phtml'并粘贴了这个:

<?php echo $this->getChildHtml(‘topSearch’) ?>

在此部分内:

<div class="col-main">
        <?php echo $this->getChildHtml(‘topSearch’) ?>
                    <?php echo $this->getChildHtml('global_messages') ?>
                    <?php echo $this->getChildHtml('content') ?>
                </div>

我一无所获。我究竟做错了什么?

3 个答案:

答案 0 :(得分:1)

首先,您需要创建或更新local.xml文件

您需要将块添加到正确的部分。

<?xml version="1.0" encoding="UTF-8"?>
<layout>
    <default>
        <reference name="root">
            <block type="core/template" name="top.search" as="topSearch" template="catalogsearch/form.mini.phtml"/>
        </reference>
    </default>
</layout>

然后使用您当前使用的方式调用它。

<?php echo $this->getChildHtml(‘topSearch’) ?>

您所做的唯一问题是您正在引用该位置的top.bar。当您以我呈现的方式引用它时,您现在可以访问网站上任何页面上的搜索。

答案 1 :(得分:0)

我设法通过调整我的CSS来做到这一点。可能不是最理想的方式,但它似乎至少起作用。

答案 2 :(得分:0)

您应该将块移动到内容;

top.bar取消设置子块:

<reference name="top.bar">
    <action method="unsetChild"><name>top.search</name></action>
<reference>

添加到content

<reference name="content">
    <action method="insert"><name>top.search</name></action>
</reference>