2010-06-25 130 views
2

如何獲取當前(活動)頂級類別及其子類?獲取Magento當前頂級類別

我不想要根類別,只是最高級別的類別及其所有子類別。

如果我在婦女的類別,例如:

Women 
- Apparel 
-- Shirts 
-- Pants 
- Accessories 
-- Handbags 
-- Jewelry 

即使我在看的襯衫,我想類別樹保持不變。

任何幫助將不勝感激。

回答

2

爲了給確切的答案你確切的問題「如何讓當前類別及其子類別」:

檢索當前類別:

$_currentCategory = $this->getCurrentCategory(); 

檢索其子類別:

$_categories = $this->getCurrentChildCategories(); 

以上正在目錄/導航塊中工作。

現在,爲了獲得您正在談論的渲染,我認爲使用CSS的簡單導航塊可以實現這一功能。

  1. 創建一個導航塊,讓我們在你的左邊列說:

  2. 創建模板目錄結構的模板文件。在我們的例子: /template/catalog/navigation/thetemplate.phtml

  3. 使用該代碼來繪製整個類別/子類別結構,而無需修改代碼的麻煩(參見[1]在柱的端部。 ...)

  4. 檢查生成的代碼/ CSS,您會看到有所有必需的CSS指針(levelX,active ...)允許您顯示或隱藏類別樹的部分,因此只顯示你喜歡的部分。

結論:CSS足以做你想做的事:)

[1]代碼是什麼:

<?php $_menu = ''?> 
<?php foreach ($this->getStoreCategories() as $_category): ?> 
<?php $_menu .= $this->drawItem($_category) ?> 
<?php endforeach ?> 
<?php if ($_menu): ?> 
<div class="THECSS-CONTAINER"> 
<ul id="THECSS"> 
<?php echo $_menu; ?> 
</ul> 
</div> 
<?php endif; ?> 
+0

我想正是這樣,它沒有工作對我來說B/CI爲使用「可見性」而不是「顯示」。非常感謝你讓我重新審視它的CSS。你剛剛救了我一大堆頭痛 – Booski 2010-06-26 21:43:22