我正在尝试将搜索框移动到我的主页面中。具体来说,在我的'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>
我一无所获。我究竟做错了什么?
答案 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>