简体   繁体   中英

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

I have a following code that shows category by level, but I have to show all the sub categories from that specific category.

    <?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-->

Thanks in advance.

Ok in case anyone needs it following will show the sub categories and so on:

<?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>';
?>    

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM