Magento:如何按级别获取当前类别的子类别等等


Magento: How to get sub category of current category by level and so on

我有一个按级别显示类别的代码,但我必须显示该特定类别中的所有子类别。

    <?php 
    $_cat = new Mage_Catalog_Block_Navigation();
    $currentCat = $_cat->getCurrentCategory();
    $subCats = Mage::getModel('catalog/category')->load($currentCat->getId())- >getChildren();
    $subCatIds = explode(',',$subCats);
    ?>
    <?php ////////////////////////level-3///////////////////////////// ?>
    <?php $category = Mage::registry('current_category');
            $category->getParentCategories(); 
                    if ( $category->getLevel() == 3 )  : ?>
    <div class="cat_drop_ser_wrap">                
    <?php $currentCat = Mage::getModel('catalog/category')->load($currentCat- >getId()) ?> 
    <select class="select_class" onchange="window.location.href=this.value">
    <option value="#">-Select</option>
      <?php foreach($subCatIds as $subCatId): ?>
       <?php $subCat = Mage::getModel('catalog/category')->load($subCatId); ?>
       <?php if($subCat->getIsActive()): ?>
        <option value="<?php echo $subCat->getUrl() ?>">
         <?php echo $subCat->getName(); ?>
        </option>
       <?php endif; ?>
      <?php endforeach; ?>
    </select>
    </div>
    <?php endif; ?><!--if--level-3-->

提前谢谢。

好的,如果有人需要,下面将显示子类别等:

<?php //////sub////// ?>
<?php
$category_levels = Mage::getModel('catalog/category')->load($category->getId());
$subcategories = $category_levels->getChildrenCategories();
if (count($subcategories) > 0){ 
    foreach($subcategories as $subcategory){
            $category_levels_two = Mage::getModel('catalog/category')->load($subcategory->getId());
            $subcategoriess = $category_levels_two->getChildrenCategories();
            if (count($subcategoriess) > 0){                            
                $attribute = Mage::getSingleton('eav/config')->getAttribute('catalog_category', 'category_dropdown_label');                                
                $text = $category_levels_two->getCategoryDropdownLabel(); 
                echo '<div class="empty_serch_select_1 cat_drop_ser_wrap 2">';                               
                echo '<label>' . $text . '</label>';
                echo '<select disabled="disabled">';
                echo '<option value="#">-Select</option>';
                echo '<select>';    
                echo '</div>';    
                break;        
            }
    }
}
?>
<?php //////sub-sub////// ?>
<?php
$category_levels = Mage::getModel('catalog/category')->load($category->getId());
$subcategories = $category_levels->getChildrenCategories();
echo '<div class="empty_serch_select_2 cat_drop_ser_wrap 3">';
if (count($subcategories) > 0){ 
    foreach($subcategories as $subcategory){
            $category_levels_two = Mage::getModel('catalog/category')->load($subcategory->getId());
            $subcategoriess = $category_levels_two->getChildrenCategories();
            if (count($subcategoriess) > 0){                           
                    foreach($subcategoriess as $subcategorys){
                            $category_levels_three = Mage::getModel('catalog/category')->load($subcategorys->getId());
                            $subcategoriesss = $category_levels_three->getChildrenCategories();
                            if (count($subcategoriesss) > 0){                            
                                $attribute = Mage::getSingleton('eav/config')->getAttribute('catalog_category', 'category_dropdown_label');                                
                                $text = $category_levels_three->getCategoryDropdownLabel(); 
                                echo '<label>' . $text . '</label>';
                                break;  
                            }
                    }
            }
    }
}
echo '<select disabled="disabled">';
echo '<option value="#">-Select</option>';
echo '<select>';    
echo '</div>';  
?>
<?php //////sub-sub-sub////// ?>
<?php
$category_levels = Mage::getModel('catalog/category')->load($category->getId());
$subcategories = $category_levels->getChildrenCategories();
echo '<div class="empty_serch_select_2 cat_drop_ser_wrap 3">';
if (count($subcategories) > 0){ 
    foreach($subcategories as $subcategory){
            $category_levels_two = Mage::getModel('catalog/category')->load($subcategory->getId());
            $subcategoriess = $category_levels_two->getChildrenCategories();
            if (count($subcategoriess) > 0){                           
                    foreach($subcategoriess as $subcategorys){
                            $category_levels_three = Mage::getModel('catalog/category')->load($subcategorys->getId());
                            $subcategoriesss = $category_levels_three->getChildrenCategories();
                            if (count($subcategoriesss) > 0){                            
                                foreach($subcategoriesss as $subcategorys){
                                        $category_levels_three = Mage::getModel('catalog/category')->load($subcategorys->getId());
                                        $subcategoriessss = $category_levels_three->getChildrenCategories();
                                        if (count($subcategoriessss) > 0){                            
                                            $attribute = Mage::getSingleton('eav/config')->getAttribute('catalog_category', 'category_dropdown_label');                                
                                            $text = $category_levels_three->getCategoryDropdownLabel(); 
                                            echo '<label>' . $text . '</label>';
                                            break; 
                                        }
                                }
                            }
                    }
            }
    }
}
echo '<select disabled="disabled">';
echo '<option value="#">-Select</option>';
echo '<select>';  
echo '</div>';
?>