2012-09-17 62 views
2

我發現一個建議如何在XML中做到這一點,但因爲它不工作,我只能通過更改核心/本地代碼找到方法來做到這一點,我在這裏發佈,看看是否有人可以闡明它。如何通過xml從分層導航中排除類別?

這是我發現的建議:

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

我已將此添加到catalog_category_default和_layered把手,但沒有結果。在檢查覈心代碼時,似乎別名的正確名稱應該是layer_filter_category,所以我在兩個句柄上都更改了這個名稱,但這也不起作用。

更多作爲一個絕望,我也嘗試嵌套參考另一個參考,以確保它被加載,但我真的不確定這是否是正確的呢?

<reference name="left"> 
    <reference name="catalog.leftnav"> 
     <action method="unsetChild"><alias>layer_filter_category</alias></action> 
    </reference> 
</reference> 

這將不勝感激,如果任何人都可以讓我知道正確的方式來做到這一點的XML。

非常感謝!

回答

5

如果你想通過XML做到這一點,你應該修改的catalog.xml

取代:

<block type="catalog/layer_view" name="catalog.leftnav" 
    after="currency" template="catalog/layer/view.phtml" /> 

與此:

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

要設置 「使用分層導航」 爲False只適用於屬性,不適用於類別,因爲它本身不是屬性。 我會測試添加塊句柄的行動方法,因爲這可能是什麼導致它無法正常工作。我正在使用local.xml進行這些更改,因此不確定如何正確更新操作方法? –

+0

對於其他想知道的人,我可以確認將Andrew的答案中的第二個代碼塊添加到catalog_category_default和_layered句柄 - 工作。謝謝安德魯! –

+0

嗨,我已經編輯了我的答案,我通常從內存中添加這些答案而沒有看,所以有時候我可以稍微休息一下,你可以將它標記爲正確的;) – Andrew