2015-11-09 141 views
0

我有一个按级别显示类别的以下代码,但我必须显示该特定类别的所有子类别。Magento:如何按级别获得当前类别的子类别

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

在此先感谢。

回答

0

的情况下,任何人都好需要它下面会显示子类别等:

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