2016-08-22 13 views
0

レスポンシブメニューのリストとしてカテゴリツリーを表示する必要があります。 アイデアは最高レベルのカテゴリを表示することです。子があるカテゴリごとに表示されるリストを動的に作成します。動的にカテゴリツリーを表示する

私はちょっと助けてくれたコードに遭遇しましたが、私は仕事のやり方を決めることができません。ここで

はコードです:

<?php 
$rootCatId = Mage::app()->getStore()->getRootCategoryId(); 

function getTreeCategories($parentId, $isChild){ 
    $allCats = Mage::getModel('catalog/category')->getCollection() 
       ->addAttributeToSelect('*') 
       ->addAttributeToFilter('is_active','1') 
       ->addAttributeToFilter('include_in_menu','1') 
       ->addAttributeToFilter('parent_id',array('eq' => $parentId)); 

    $class = ($isChild) ? "sub-cat-list" : "cat-list"; 
    $html .= '<ul class="'.$class.'">'; 
    $children = Mage::getModel('catalog/category')->getCategories(7); 
    foreach ($children as $category) { 
    { 
     $html .= '<li>'.$category->getName().""; 
     $subcats = $category->getChildren(); 
     if($subcats != ''){ 
      $html .= getTreeCategories($category->getId(), true); 
     } 
     $html .= '</li>'; 
    } 
    $html .= '</ul>'; 
    return $html; 
} 
$catlistHtml = getTreeCategories($rootCatId, false); 

echo $catlistHtml; 

?> 

は、事前にありがとうございます。

答えて

0

あなたは、カテゴリツリーを作成するためにこれを使用することができます。カテゴリとサブカテゴリを表示/非表示の影響については

<?php 
    $rootCatId= Mage::app()->getStore()->getRootCategoryId(); 
    $categories = Mage::getModel('catalog/category')->getCategories($rootCatId); 
    $output= '<ul>'; 
    foreach($categories as $category) { 
     $cat = Mage::getModel('catalog/category')->load($category->getId()); 
     $count = $cat->getProductCount(); 
     $output .= '<li>' . '<a href="' . Mage::getUrl($cat->getUrlPath()) . '">' . $category->getName() . "</a>"; 
     if ($category->hasChildren()) { 
      $children = Mage::getModel('catalog/category')->getCategories($category->getId()); 
      $array .= get_categories($children); 
     } 
     $output .= '</li>'; 
    } 
    echo $output . '</ul>'; 
?> 

を、あなたは、プレーンなCSSやjQueryの/プロトタイプを使用することができます。

+0

助けてくれてありがとう、このコードは正常に動作しますが、カテゴリツリーが深いときに問題が発生するのは、多くの子カテゴリを持つカテゴリです。 –

関連する問題