1

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

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

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

从美国在线商店购买

& 网址是:

从我们在线商店购买

如果有人能帮忙,那就太棒了,我刚刚完全失去了情节。

谢谢

4

2 回答 2

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>

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

于 2016-09-01T09:32:47.357 回答
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>

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

于 2012-10-30T13:58:25.747 回答