2015-01-09 39 views
0

尋找動態顯示當前類別「品牌頁面」的所有子類別,例如,但也顯示每個子類別的類別(所以顯示在主要頂層頁) - 如附圖:Magento subcat&sub-sub cat on view.phtml

主類別頁面上像div的或Li的:

SUBCATEGORY

子 - 子1,子SUB2,分次3

SUBCATEGORY 2

子 - 子1,子SUB2,分次3

SUBCATEGORY 3

子 - 子1,子SUB2,分次3

我做了大量的搜索,發現類似但不完全正確的東西。 這是最接近我能找到:

http://magentoo.blogspot.com/2014/01/get-all-subcategories-of-parent-category-magento.html

回答

2

我修改的代碼片段從網站圍繞在一起,使其無需它TI硬編碼到每個頂級類別工作...

這並獲得成功:

<?php 

$parentCategoryId = Mage::getModel('catalog/layer')->getCurrentCategory()->getId(); 
$cat = Mage::getModel('catalog/category')->load($parentCategoryId); 
$subcats = $cat->getChildren(); 

?> 

<!--// Get 1 Level sub category of Parent category.--> 
<?php 
foreach(explode(',',$subcats) as $subCatid) 
       { 
       $_category = Mage::getModel('catalog/category')->load($subCatid); 
    if($_category->getIsActive()) { 
    //echo '<ul><a href="'.$_category->getURL().'" title="View the products for the "'.$_category->getName().'" category">'.$_category->getName().'</a>'; 
    // echo '</ul>'; 
    } 
} 

?> 

<!--// Get 2 Level sub category of Parent sub category--> 
<?php 
foreach(explode(',',$subcats) as $subCatid) 
{ 
    $_category = Mage::getModel('catalog/category')->load($subCatid); 
    if($_category->getIsActive()) { 
    echo '<ul><li class="subcat-title">'.$_category->getName().'</li>'; 
    $sub_cat = Mage::getModel('catalog/category')->load($_category->getId()); 
    $sub_subcats = $sub_cat->getChildren(); 
    foreach(explode(',',$sub_subcats) as $sub_subCatid) 
    { 
      $_sub_category = Mage::getModel('catalog/category')->load($sub_subCatid); 
      if($_sub_category->getIsActive()) { 
       echo '<li class="sub_cat"><a href="'.$_sub_category->getURL().'" category">'.$_sub_category->getName().'</a></li>'; 

} 
    } 
    echo '</ul>'; 
    } 
} 
?> 

然後用一些CSS的樣式當然

0

我已經做了類似的東西你是通過我的類別頁面的頂部添加目錄/導航模塊描述:

插入新請嵌入佈局app/design/frontend/$ package/$ theme/layout/catalog.xmlapp/design/frontend/$ package/$ theme/layout/local.xml

<catalog_category_view> 
    <reference name="content"> 
     <block type="catalog/navigation" name="catalog.catnav" template="catalog/navigation/category.phtml" before="-"/> 
    </reference> 
</catalog_category_view> 

然後創建或修改應用程序/設計/前端: - 從理論上講,你也可以通過下面將只參考部分插入類別標籤「>自定義佈局更新定製設計」做一個分類的基礎上/$package/$theme/template/catalog/navigation/category.phtml

<ul id="catnav"><?= $this->renderCategoriesMenuHtml() ?></ul> 

結果應該是這樣的分類頁面,你可以用CSS樣式在這個樹狀結構,通過靶向類顯示根據需要:

<ul id="catnav"> 
    <li class="level0 nav-1 active first last parent"> 
     <a href="...">ROOT CATEGORY NAME</a> 
     <ul class="level0"> 
      <li class="level1 nav-1-1 first"> 
       <a href="...">SUBCATEGORY LEVEL 1</a> 
      </li> 
      <li class="level1 nav-1-2"> 
       <a href="...">SUBCATEGORY LEVEL 1</a> 
      </li> 
      <li class="level1 nav-1-3 active parent"> 
       <a href="...">SUBCATEGORY LEVEL 1 (PARENT + ACTIVE)</a> 
       <ul class="level1"> 
        <li class="level2 nav-1-3-1 active first"> 
         <a href="...">SUBCATEGORY LEVEL 2 (ACTIVE)</a> 
        </li> 
        <li class="level2 nav-1-3-2"> 
         <a href="...">SUBCATEGORY LEVEL 2</a> 
        </li> 
       </ul> 
      </li> 
      <li class="level1 nav-1-4 last parent"> 
       <a href="...">SUBCATEGORY LEVEL 1 (PARENT)</a> 
       <ul class="level1"> 
        <li class="level2 nav-1-4-1 first"> 
         <a href="...">SUBCATEGORY LEVEL 2</a> 
        </li> 
        <li class="level2 nav-1-4-2"> 
         <a href="...">SUBCATEGORY LEVEL 2</a> 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
</ul> 
+0

感謝您的答覆我欣賞幫助,我試過這個,它沒有做任何事情:/並且我希望沒有整個商店的目錄結構,但只是什麼正在查看的特定頂級類別頁面。 – M21 2015-01-12 14:47:21