如何把我的Magento的迷你搜索表单移动到我的模板头另一个地方?(How to move my M

2019-09-21 22:22发布

我建立我的第一个自定义的Magento主题。 它的进展缓慢,但它怎么回事。 我摆脱了原本持有的主页上的迷你搜索表单,而是希望把搜索表单在我的新头了吧。

下面是我在报头中的代码header.phtml

<div id="header">
<a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
    <div id="header-top">
    <?php echo $this->getChildHtml('topSearch') ?>
    <?php echo $this->getChildHtml('topLinks') ?>
    </div>
    <?php echo $this->getChildHtml('topMenu') ?>
</div>

但是,搜索表单不渲染。 这里是有问题的网站:

http://s1.mynewsitereview.com/

非常感谢!

Answer 1:

首先,你需要创建或更新您的local.xml文件,如果你没有,你可以创建一个local.xml文件,

APP->前端 - > [包名称] - > [主题名称] - >布局 - > local.xml中

一旦被创建,你可以在这个职位正是我拥有复制到该文件对如何使用一个开始。

DO的所有更新通过local.xml文件,不通过的catalog.xml! 这将使升级后的道路显著容易。 此外,您将能够很快看到你已经在一个文件到您的网站进行的所有更改。

下面的例子将其添加到将适用于所有的网页,但在模板 - > PAGE-> 1column.phtml或2column-left.phtml 3column.phtml等容易地称为根引用名

<?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’) ?>

现在,您可以使用“引用名称”和“作为”名称,如上面的部分。 例如,你可以使用下面的类似设置参考页脚块添加搜索功能。 对于教育“为”名字是什么在一个.phtml文件中使用。 与“名”是一区块如何XML文件中引用。 所以在上面的例子。 我加入了搜索栏来根内容区域,然后用“为”,“卓”的对骂在我的一个.phtml文件

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

然后调用它footer.phtml

<?php echo $this->getChildHtml('footerSearch') ?>


Answer 2:

我知道这个问题是很老了,但是我要去发布我的回答,希望它可以帮助别人与此相同的问题

就我而言,我需要在我的页脚另一个搜索表单,所以我打开

应用程序/德兴/前端/碱/默认/布局/ catalogsearch.xml

并复制:

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

到:应用程序/德兴/前端/我的主题/我的主题/布局/默认标签内local.xml中

<reference name="header">
        <block type="core/template" name="top.search" as="topSearch" template="catalogsearch/form.mini.phtml"/>
    </reference>
</default><!-- just to give a idea of the position of where you should paste this code -->

然后我把它改成:

<reference name="footer">
        <block type="core/template" name="footer.search" as="footerSearch" template="catalogsearch/form.mini.phtml"/>
    </reference>
</default>

然后在我的页脚文件我打电话:

<?php echo $this->getChildHtml('footerSearch') ?>

基本上你得告诉你的主题需要获得使用本地XML的“footerSearch”,那么你可以把它认为PHP。



文章来源: How to move my Magento mini search form to another spot in my template header?