0

下の画像のように、カテゴリツリーでナビゲーション中の2人の主な子がいます

ここに画像の説明を入力してください

ここに画像の説明を入力してください

リージョンまたはアクティビティのカテゴリとサブカテゴリを一覧表示したいのですが、そのために2つの異なる機能を試しました。

$collection = Mage::getModel('catalog/category')->getCollection()->addAttributeToSelect('name')->load();
    foreach ($collection as $cat) {
        echo $cat->getName();
    }  

これにより、RegionとActitiesの両方および別の関数からすべての子が返されます

$children = Mage::getModel('catalog/category')->getCategories(10);
foreach ($children as $category) {
  echo $category->getName();
} 

参照リンク

これはサブカテゴリのみを返します

地域のすべてのカテゴリ、サブカテゴリ、サブサブカテゴリなどを一覧表示したい...

少し早いですがお礼を

4

1 に答える 1

1

これを試してください:

    $rootcatId= 10;
    $categories = Mage::getModel('catalog/category')->getCategories($rootcatId);
    function  get_categories($categories) {
        $array= '<ul>';
        foreach($categories as $category) {
            $cat = Mage::getModel('catalog/category')->load($category->getId());
            $count = $cat->getProductCount();
            $array .= '<li>'.
            '<a href="' . Mage::getUrl($cat->getUrlPath()). '">' .
                      $category->getName() . "(".$count.")</a>\n";
            if($category->hasChildren()) {
                $children = Mage::getModel('catalog/category')->getCategories($category->getId());
                 $array .=  get_categories($children);
                }
             $array .= '</li>';
        }
        return  $array . '</ul>';
    }
    echo  get_categories($categories); 
于 2012-09-17T11:11:41.853 に答える