Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento获取父类别及其所有子类别_Php_Magento - Fatal编程技术网

Php Magento获取父类别及其所有子类别

Php Magento获取父类别及其所有子类别,php,magento,Php,Magento,这是我的分类树: Cat_1 (This is the parent category with ID 4) Subcat_1 Subcat_2 Subsubcat_1 Subsubcat_2 Subcat_3 Subsubcat_3 Subsubcat_4 Subcat_4 我尝试用这段代码来检索这个分类树,但我只到了子分类的级别。我需要更深一层 <?php $cat = Mage::get

这是我的分类树:

Cat_1 (This is the parent category with ID 4)
    Subcat_1
    Subcat_2
        Subsubcat_1
        Subsubcat_2
    Subcat_3
        Subsubcat_3
        Subsubcat_4
    Subcat_4
我尝试用这段代码来检索这个分类树,但我只到了子分类的级别。我需要更深一层

<?php
$cat = Mage::getModel('catalog/category')->load(4);
$subcats = $cat->getChildren();

foreach(explode(',',$subcats) as $subCatid)
{
  $_category = Mage::getModel('catalog/category')->load($subCatid);
  if($_category->getIsActive()) {
    $sub_cat = Mage::getModel('catalog/category')->load($_category->getId());
    $sub_subcats = $sub_cat->getChildren();
    foreach(explode(',',$sub_subcats) as $sub_subCatid)
    {
          $_sub_category = Mage::getModel('catalog/category')->load($sub_subCatid);
          if($_sub_category->getIsActive()) {
              echo '<li class="sub_cat"><a href="'.$_sub_category->getURL().'" title="View the products for the "'.$_sub_category->getName().'" category">'.$_sub_category->getName().'</a></li>';
          }
     }
  }
}
?>

有人能帮我吗?

试试这个

<?php
$cat = Mage::getModel('catalog/category')->load(4);
$subcats = $cat->getChildren();

foreach(explode(',',$subcats) as $subCatid)
{
  $_category = Mage::getModel('catalog/category')->load($subCatid);
  if($_category->getIsActive()) {
    echo '<ul><a href="'.$_category->getURL().'" title="View the products for the "'.$_category->getName().'" category">'.$_category->getName().'</a>';
    $sub_cat = Mage::getModel('catalog/category')->load($_category->getId());
    $sub_subcats = $sub_cat->getChildren();
    foreach(explode(',',$sub_subcats) as $sub_subCatid)
    {
          $_sub_category = Mage::getModel('catalog/category')->load($sub_subCatid);
          if($_sub_category->getIsActive()) {
              echo '<li class="sub_cat"><a href="'.$_sub_category->getURL().'" title="View the products for the "'.$_sub_category->getName().'" category">'.$_sub_category->getName().'</a></li>';
              $sub_sub_cat = Mage::getModel('catalog/category')->load($sub_subCatid);
              $sub_sub_subcats = $sub_sub_cat->getChildren();
              foreach(explode(',',$sub_sub_subcats) as $sub_sub_subCatid)
              {
                $_sub_sub_category = Mage::getModel('catalog/category')->load($sub_sub_subCatid);
                if($_sub_sub_category->getIsActive()) {
                    echo '<li class="sub_cat"><a href="'.$_sub_sub_category->getURL().'" title="View the products for the "'.$_sub_sub_category->getName().'" category">'.$_sub_sub_category->getName().'</a></li>';
                }
              }
           }
     }
     echo '</ul>';
  }
}

?>


你好,尼娜。真管用!我刚刚发现第一级也不见了。可以从低一级开始吗?此外,如果输出与子类别一起正确排序,作为父类别中自己的UL,这将是非常棒的。编辑代码。试试看。我没有测试代码。如果不起作用,请适当地回显第一级类别。也做一些css来修饰你的结果。几乎!所有级别现在都可见。有可能有这样的结构吗
  • cat
      subcat
?不完全是我的意思,但我会明白的。非常感谢你!