从大多数新的CE 1.6.2.0安装开始,我想删除标头中找到的核心/模板块的默认XML实例。该块名为“top.search”,与form.mini.phtml绑定。
在我的local.xml中,我的第一个想法就是添加:
<default>
<remove name="header.top.search"/>
</default>
这适用于我试图删除的任何其他块(即,将骨架块名称(例如,“标题”)添加到内容块名称的开头),但不是这个。为什么呢?
我发现这确实有效:
<default>
<reference name="header">
<remove name="top.search"/>
</reference>
</default>
但我当然认为这基本上是一回事。
我实际上打算将它移到我的导航栏中,所以我知道我还需要在top.menu骨架块中实例化一个新的核心/模板块。
然而,另一个问题是,为什么默认的CSS设置为.header .form-search使用绝对定位?
我想这是两个问题,但至少相关:) 谢谢亲切的先生们!
编辑:谢谢,所以,我只是使用了错误的块名称!我对所有新手第一次遇到的块的命名感到困惑:left.permanent.callout,right.permanent.callout,它们都被放入他们适当命名的骨架块“右”和“左”。
答案 0 :(得分:1)
<remove name="header.top.search"/>
不起作用,因为块的名称不是header.top.search
。该块在catalogsearch.xml
中定义如下:
<block type="core/template" name="top.search" as="topSearch" template="catalogsearch/form.mini.phtml"/>
该块的名称为top.search
,因此要删除它,请使用<remove name="top.search"/>
。
您不必将删除标记放在引用标记内。删除标签对布局对象中的所有块全局工作。这也是父块名称无关紧要的原因,不应该在块名称前加上。
关于你的CSS问题,我不知道为什么搜索块是用绝对定位制作的。我想这只是设计师对默认主题的选择。