Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 为什么';t这项工作:<;删除名称=";header.top.search"/&燃气轮机;_Magento - Fatal编程技术网

Magento 为什么';t这项工作:<;删除名称=";header.top.search"/&燃气轮机;

Magento 为什么';t这项工作:<;删除名称=";header.top.search"/&燃气轮机;,magento,Magento,从最新的CE1.6.2.0安装开始,我想删除在标题中找到的核心/模板块的默认XML实例化。此块名为“top.search”,并绑定到form.mini.phtml 在my local.xml中,我的第一个想法是添加以下内容: <default> <remove name="header.top.search"/> </default> 这适用于我尝试删除的任何其他块(即,在内容块名称的开头加上骨架块名称(例如,“header”),但不适用于此块。

从最新的CE1.6.2.0安装开始,我想删除在标题中找到的核心/模板块的默认XML实例化。此块名为“top.search”,并绑定到form.mini.phtml

在my local.xml中,我的第一个想法是添加以下内容:

<default>
    <remove name="header.top.search"/>
</default>

这适用于我尝试删除的任何其他块(即,在内容块名称的开头加上骨架块名称(例如,“header”),但不适用于此块。为什么?

我发现这确实有效:

<default>
    <reference name="header">
        <remove name="top.search"/>
    </reference>
</default>

但我当然认为这基本上是一样的

我实际上打算将其移动到我的导航栏中,因此我知道我还需要在top.menu骨架块中实例化一个新的核心/模板块

然而,出现的另一个问题是,为什么默认CSS设置为对.header.form搜索使用绝对定位

我想这是两个问题,但至少是相关的:) 谢谢好心的先生们

编辑:谢谢,所以,我只是使用了不正确的块名!我被所有新手第一次遇到的块的命名搞糊涂了:left.permanent.callout,right.permanent.callout,这两个块都被放在它们相应命名的骨架块“right”和“left”中

不起作用,因为块的名称不是
header.top.search
。块在
catalogsearch.xml
中定义如下:

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

块的名称为
top。搜索
,因此要删除它,请使用

您不必将删除标记放在引用标记中。“删除标记”全局适用于布局对象中的所有块。这也是为什么父块的名称无关紧要,并且不应在块名称前加上前缀的原因


关于你的CSS问题,我不知道为什么搜索块是绝对定位的。我想这只是设计师对默认主题的选择。

Anders,我想知道你是否可以对我上面的后续内容发表评论,我修改了编辑:部分,以抓住让我头疼的问题的核心。。感谢您为新块编写的代码看起来是正确的,但可能您在错误的位置添加了它。必须在创建catalog.topnav块后加载它。您在哪里添加了新的XML代码?(此外,catalog.topnav是在范围内的base catalog.XML中定义的)fwiw,我更改了echo$this->getChildHtml('catalog.topnav');到$this->getChild(“”);它在导航栏区域返回“Array”更多信息:我把它改为:echo$this->getLayout()->getBlock('top.searchform')->toHtml();现在在源代码中有一些输出,但在浏览器中没有。模板中一定有问题。。我应该可以从这里找到答案,谢谢!