从左侧导航Magento中删除类别

时间:2012-10-30 13:02:57

标签: xml magento navigation

我想从magento的左侧导航中删除一个类别,但我希望它保留在主导航top.phtml中。到目前为止,我能想到的唯一方法是使用local.xml中的一些XML,如下所示:

    <reference name="catalog.leftnav">
        <action method="unsetChild"><alias>Item to remove</alias></action>
    </reference>

但是我不知道我想要取消设置的项目的别名。类别名称是:

从美国网上商店购买

&安培;网址是:

要购买 - 从 - 美国在线商店

如果有人可以提供帮助,那就太棒了,我刚完全失去了情节。

由于

2 个答案:

答案 0 :(得分:1)

这是一个非常古老的问题,但它可以帮助任何像我这样的人。

要从侧边栏中删除类别列表,您可以修改xml文件,如下所示。

从分层导航中删除:

如果主题包含以下文件,请在local.xml文件中添加以下代码:

<catalog_category_layered>
     <reference name="catalog.leftnav">           
        <action method="unsetChild">
            <child>category_filter</child>
        </action>
    </reference>
</catalog_category_layered>

如果catalog.xml不存在,请在local.xml文件中添加以下代码:

<block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml">
    <action method="unsetChild">
        <child>category_filter</child>
    </action>       
</block>

从类别默认页面中删除:

如果主题包含以下文件,请在local.xml文件中添加以下代码:

<reference name="catalog.leftnav" >       
    <action method="unsetChild">
         <child>category_filter</child>
    </action>
</reference>

如果catalog.xml不存在,请在local.xml文件中添加以下代码:

 <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml">
   <action method="unsetChild">
         <child>category_filter</child>
    </action>
 </block>

从目录搜索页面中删除:

如果主题包含以下文件,请在local.xml文件中添加以下代码:

<catalogsearch_result_index>
   <reference name="catalog.leftnav">           
        <action method="unsetChild">
            <child>category_filter</child>
        </action>
    </reference>
</catalogsearch_result_index>

如果catalogsearch.xml不存在,请在local.xml文件中添加以下代码:

<block type="catalogsearch/layer" name="catalogsearch.leftnav" after="currency" template="catalog/layer/view.phtml">
      <action method="unsetChild">
            <child>category_filter</child>
        </action>
</block>

注意:如果您已在管理员中启用了缓存,请清除缓存。

答案 1 :(得分:0)

在这种情况下,通过XML取消设置将无法帮助您,只会禁用整个块,即完整的左侧导航。

没有办法(开箱即用)禁用顶部导航栏上的单个类别,而不是左侧导航栏。

你可以采取一些方法,虽然有些方法对你所需要的东西来说太过分了,我猜是一种简单的肮脏方法:

您可以随时将Mage_Catalog_Block_Navigation复制到本地名称(app / code / local / Mage / Catalog / Block / Navigation.php)

然后您可以重命名此(Navigationleft.php)并根据需要进行更改。然后,您将更改XML语句以将此新块用于左侧导航

<reference name="left">
        <block type="catalog/navigationleft" 
               name="catalog.leftnav" 
               after="currency" 
               template="catalog/navigation/left.phtml"
         />
</reference>

您可以随时向Catalog实体添加新属性,并在显示项目时修改导航以使用此属性(show_on_left_nav)和is_active,尽管这可能有点矫枉过正:)