简体   繁体   English

Magento:如何按级别获取当前类别的子类别,依此类推

[英]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>';
?>    

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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