2013-06-26 2 views
0

Как показать все категории в древовидной структуре одинаково во всплывающем окне, то есть.), Если я нажму кнопку выбора категории на своей странице, она должна показать всплывающее окно с деревом структурированное categories.i пытался, как это который будет показывать все категории в выпадающем списке, который не выглядит хорошоКак показать категории в древовидной структуре

<?php                    

    $categories = Mage::getModel('catalog/category')->getCollection()->addAttributeToSelect('*')->addIsActiveFilter(); 
    $allcatid = array(); 
    $k=0; 
    foreach ($categories as $c) { 
    $allcatid[$k] = $c->getId(); 
    $k++; 
    } 
    $finalcat=array_shift($allcatid); 
    $root= Mage::app()->getStore()->getRootCategoryId(); 
?> 

<select id="category" class="myinput-text required-entry widthinput" name="category" > 
    <?php foreach($allcatid as $keycat){?> 
     <option value="<?php echo $keycat;?>"><?php echo Mage::getModel("catalog/category")->load($keycat)->getName(); ?></option> 
    <?php } ?> 
+0

если вы найдете мой ответ полезным, тогда примите мой ответ –

ответ

1

Это поможет принести вам дерево категорий

<?php 
$rootcatId= Mage::app()->getStore()->getRootCategoryId(); 
$categories = Mage::getModel('catalog/category')->getCategories($rootcatId); 
function get_categories($categories) { 
    $array= '<ul>'; 
    foreach($categories as $category) { 
     $cat = Mage::getModel('catalog/category')->load($category->getId()); 
     $count = $cat->getProductCount(); 
     $array .= '<li>'.'<a href="'.Mage::getUrl($cat->getUrlPath()). '">'.   $category->getName() . "(".$count.")</a>\n"; 
     if($category->hasChildren()) { 
      $children = Mage::getModel('catalog/category')->getCategories($category->getId()); 
      $array .= get_categories($children); 
      } 
     $array .= '</li>'; 
    } 
    return $array . '</ul>'; 
} 
echo get_categories($categories); ?> 
+0

спасибо DepH u мне очень помог, но я хочу отобразить все категории и подкатегории и sububcategories ... в древовидной структуре, то есть.) если я нажму +, значит, он должен показать подкатегории и - означает, что он должен скрывать подкатегории (развернуть и свернуть модель) – Balram

+0

, если это вам помогло, чем принять ответ и перенести его, и если вы хотите развернуть и свернуть, тогда вам нужно написать собственный прототип/jQuery, я реализовал это, но было бы сложно объяснить здесь. – DepH

+0

жаль этого человека, у меня нет достаточной репутации, к которой я присоединился сейчас только в этой группе .. поэтому только не в состоянии повысить u. – Balram

0
enter code here 
<?php $_helper = Mage::helper('catalog/category') ?> 
<?php $_categories = $_helper->getStoreCategories() ?> 
<?php $currentCategory = Mage::registry('current_category') ?> 
<?php if (count($_categories) > 0): ?> 
    <ul> 
     <?php foreach($_categories as $_category): ?> 
      <li> 
       <a href="<?php echo $_helper->getCategoryUrl($_category) ?>"> 
        <?php echo $_category->getName() ?> 
       </a> 
       <?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?> 
       <?php $_subcategories = $_category->getChildrenCategories() ?> 
       <?php if (count($_subcategories) > 0): ?> 
        <ul> 
         <?php foreach($_subcategories as $_subcategory): ?> 
          <li> 
           <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>"> 
            <?php echo $_subcategory->getName() ?> 
           </a> 
          </li> 
         <?php endforeach; ?> 
        </ul> 
       <?php endif; ?> 
      </li> 
     <?php endforeach; ?> 
    </ul> 
<?php endif; ?> 

это выберет всю категорию и подкатегорию ,,, надеюсь, это поможет вам

Смежные вопросы