2012-10-30 73 views
1

我想從magento的左側導航欄中刪除類別,但是我希望它保留在主導航欄top.phtml中。到目前爲止,我能想到做到這一點的唯一方法是在local.xml中有點XML的像這樣:刪除左側導航欄中的類別Magento

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

但是我不知道我想取消設置項的別名。類別名稱是:

向我們購買網上商店

&的網址是:

來購買 - 從 - 美國在線商店

如果任何人都可以用這一點,幫助會很棒,我完全失去了情節。

感謝

+0

您是否嘗試設置爲錨定爲否? –

+0

是的,我試過了。但它從兩個地方刪除。我最終使用了這個:jQuery(「。pcl-items-menu li span:contains('To purchase from US online store')」)。parent()。hide();我知道它不漂亮,但。 –

回答

0

通過XML取消設置不會幫助你在這種情況下,將只禁用整個塊,即最左導航。

有沒有辦法(開箱)禁用頂級導航欄上的單個類別,而不是左側導航欄。

有你可以採取一些辦法,但也有一些是矯枉過正,你需要什麼,我猜,一個簡單的骯髒的方法是:

你可以Mage_Catalog_Block_Navigation總是複製到本地namespance(應用程序/代碼/本地/法師/目錄/塊/ Navigation.php)

然後你可以重命名這個(Navigationleft.php)並根據需要進行更改。這樣,你會改變XML語句中使用這個新塊的左側導航欄

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

你可以一個新的屬性總是添加到目錄中的實體,並與IS_ACTIVE一起修改導航使用這個(show_on_left_nav)顯示時物品,雖然這可能有點矯枉過正:)

+0

非常感謝,看起來好像大部分都是過度殺毒,尤其是在涉及到核心問題時。問題是magento build本來不是我的,所以我必須處理我已經擁有的東西。我可能只是做它hacky和jQuery它隱藏。我確實想知道是否可以找到該類別ID,然後在模板>目錄>導航> left.phtml中添加到foreach中,如果此類別中沒有顯示。 –

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> 

注:請清除緩存如果你已經在你的管理員是否啓用它。