2010-11-21 44 views
0

好的,所以我一直在與Magento合作大約1-2個月,不太興奮,但仍在努力學習。當進入子類別時,Magento'丟失'類別

我已經設法爲某人安裝了一個漂亮的模板主題,而且我正在調整以使其「正確」工作。

但是,我有一個奇怪的問題...首先,我的模板不顯示頂部導航根類別,只是列出了第一個子類別。這可以。

我進入一個子類別,我可以看到左側塊的子類別。但是當我點擊其中一個子子類別時,左邊的塊根本不顯示任何類別。

我可以發現這是默認行爲,因爲我所處的子子類別沒有子子類別。但是,我想知道,有沒有人知道一個好方法,當你在一個盛大的類別中顯示主基地中的所有類別?

EX: 
Default Category (Not seen) 
    Cat 1 (Shown in top nav) 
    Sub Cat 1 
    Sub Cat 2 
    Cat 2 (Shown in top nav) 
    Sub Cat 1 
    Sub Cat 2 
    Cat 3 (Shown in top nav) 
    Sub Cat 1 
    Sub Cat 2 

例如說我點擊子貓2,在貓3的位置,我可以的Magento顯示所有從第2級的孩子嗎?在這個例子中,Cat 3將會顯示,其所有子類別也是如此,就好像我已經點擊了Cat 3一樣。

我希望我解釋得很好,我把它與Magento混淆爲下一個人...

(這是foreach循環之前的位,在我的模板文件中寫入類別。無論如何,在這裏拋出一個getParent()類型的交易,所以它總是加載'最高'類別? )

<?php $_categories=$this->getCurrentChildCategories(); ?> 

<?php $_count = is_array($_categories)?count($_categories):$_categories->count(); ?> 

<?php if($_count): ?> 

回答

0

有一個vertical navigation extension它給你更多的選擇,顯示什麼。它沒有你描述的確切行爲,但是朝着正確的方向邁出了一步,你可能會發現修改起來比完全使用自己的方法更容易。

0

左側類別塊的想法是顯示當前類別的子類別。這聽起來像你想要一個更靜態的菜單,總是顯示相同的類別樹。這正是頂級導航所做的,因此您可以從那裏複製代碼,並將其用作左側塊。它甚至包含.active CSS類,因此您可以對其進行設置以根據活動類別摺疊/展開子類別。

2

好的。我看了兩個提供的答案,然而,他們都沒有真正走向我正在尋找的方向。

他們在這兩個他們自己的協議好,不過,我偶然發現的東西,給了我一個更好的線索,我編程這snippy:

// Get the current category's path, in array. 
// Ex: [0] => '20', [1] => '4' 
$_categorypath = $this->getCurrentCategoryPath(); 

// Use Mage to get a requested Category from the category path from above. 
// (The last int in the array is the top-most category, so size-1 gets last int id) 
$_parent_category = Mage::getModel('catalog/category')->load($_categorypath[count($_categorypath)-1]); 

// Call the children categories from the loaded category 
$_categories=$_parent_category->getChildrenCategories(); 

// Follow the rest of the loop... Success! No "Current/Active" handler yet.. 
$_count = is_array($_categories)?count($_categories):$_categories->count(); 

if($_count): 
// (Run your foreach code here, complete with html formatting) 

我希望這可以幫助別人的未來,誰正在尋找類似的功能。

+0

所以你想要一個菜單​​與'姐妹'類別,而不是兒童類別? – 2010-11-22 15:46:04