2012-12-21 3 views
3

Magento 1.7.2를 사용하며 현재 범주의 하위 범주 및 하위 범주 목록을 표시하고 있습니다. 내 문제는 하위 하위 범주는 관리 백엔드 트리 구조에서와 동일한 순서를 따르지 않는다는 것입니다. 그들이 작은 ID 번호에서 가장 높은 ID로 순서가 정해지는 것 같습니다. 관리자 백엔드에서 주문한대로 표시해야합니다.Magento : 관리자 백엔드 트리 구조에서와 동일한 순서로 하위 하위 범주 표시

<?php 
$currCat = Mage::registry('current_category'); 
$parentname = $currCat->getName(); 
$collection = Mage::getModel('catalog/category')->getCategories($currCat->getEntityId()); 
$subcats = $currCat->getChildren(); 

$_helper = $this->helper('catalog/output'); 
echo '<h2 class="titleCat"><strong>'.$parentname.'</strong></h2>'; 
?> 

<?php 
$currCat = Mage::registry('current_category'); 
$parentname = $currCat->getName(); 
$collection = Mage::getModel('catalog/category')->getCategories($currCat->getEntityId()); 
$subcats = $currCat->getChildren(); 

$_helper = $this->helper('catalog/output'); 
echo '<h2 class="titleCat"><strong>'.$parentname.'</strong></h2>'; 
?> 

<!-- We list sub sub categories --> 
<div class="colLeftNav"> 
<ul class="colLeftSubCats"> 
<?php 
foreach(explode(',',$subcats) as $subCatid) 
{ 
$_category = Mage::getModel('catalog/category')->load($subCatid); 
if($_category->getIsActive()) { 
$sub_cat = Mage::getModel('catalog/category')->load($_category->getId()); 
$sub_subcats = $sub_cat->getChildren(); 
echo '<div class="subMainCat"><a href="'.$_category->getURL().'" title="Show products "'.$_category->getName().'" category">'.$_category->getName().'</a></div>'; 
foreach(explode(',',$sub_subcats) as $sub_subCatid) 
{ 
$_sub_category = Mage::getModel('catalog/category')->load($sub_subCatid); 
if($_sub_category->getIsActive()) { 
echo '<li class="subCat"><a href="'.$_sub_category->getURL().'" title="show products "'.$_sub_category->getName().'" category">'.$_sub_category->getName().'</a></li>'; 
} 
} 
} 
} 
?> 
</ul> 
</div> 

내가 꽤 많이 여기 붙어과이 문제를 해결하는 방법을 단서가 없다 오전 : 여기에 내 현재 코드입니다. 어떤 도움이라도 정말 고맙겠습니다 ...!

답변

1

이와 비슷한?

$cat_id = 10; 
$category = Mage::getModel('catalog/category')->load($cat_id); 
$collection = Mage::getModel('catalog/category')->getCategories($cat_id, 0, true, true); 

foreach ($collection as $cat) { 
    echo $cat->getId().' '.$cat->getPosition().' '.$cat->getName().'<br/>'; 
} 
+0

getCategories의 추가 매개 변수는 무엇입니까? –

+0

* PARAM의 INT의 $ 부모 * PARAM INT $ recursionLevel * PARAM의 부울 $ 알고 매우 유용 * PARAM의 부울 $의 asCollection * PARAM의 부울 $의 toLoad –

+0

을 분류. –