Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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
magento中的类别树,前端有更多级别_Magento - Fatal编程技术网

magento中的类别树,前端有更多级别

magento中的类别树,前端有更多级别,magento,Magento,谢谢。。。。。。。。。。。。。。但是…我有下面的代码,这是工作到第1级,而不是类别树中的更多级别。有人可以帮助我的第3级和更多。。。。。。。。。。。类别树的级别…………这意味着,如果我单击父类别,则仅该特定父类别与其子类别一起打开,其他所有类别将以关闭方式打开 喜欢 类别1 -子类别1 ----子类别1 -子类别2 <?php $obj = new Mage_Catalog_Block_Navigation(); $store_cats

谢谢。。。。。。。。。。。。。。但是…我有下面的代码,这是工作到第1级,而不是类别树中的更多级别。有人可以帮助我的第3级和更多。。。。。。。。。。。类别树的级别…………这意味着,如果我单击父类别,则仅该特定父类别与其子类别一起打开,其他所有类别将以关闭方式打开 喜欢 类别1 -子类别1 ----子类别1 -子类别2

      <?php
          $obj = new Mage_Catalog_Block_Navigation();
          $store_cats   = $obj->getStoreCategories();
          $current_cat  = $obj->getCurrentCategory();
           $current_cat = (is_object($current_cat) ? $current_cat->getName() : '');

            foreach ($store_cats as $cat) {
                  if ($cat->getName() == $current_cat) {
                        echo '<li class="current"><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n<ul>\n";
                        foreach ($obj->getCurrentChildCategories() as $subcat) {
                        echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n";
                  }
                   echo "</ul>\n</li>\n";
                  } else {
                       echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a></li>\n";
                       }
                 }
         ?>
类别2 -子类别1 -子类别2

      <?php
          $obj = new Mage_Catalog_Block_Navigation();
          $store_cats   = $obj->getStoreCategories();
          $current_cat  = $obj->getCurrentCategory();
           $current_cat = (is_object($current_cat) ? $current_cat->getName() : '');

            foreach ($store_cats as $cat) {
                  if ($cat->getName() == $current_cat) {
                        echo '<li class="current"><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n<ul>\n";
                        foreach ($obj->getCurrentChildCategories() as $subcat) {
                        echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n";
                  }
                   echo "</ul>\n</li>\n";
                  } else {
                       echo '<li><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a></li>\n";
                       }
                 }
         ?>

解决这个问题的最简单方法是创建一个递归函数(一个调用自身的函数)

以下是您可能希望如何设置代码:

//go through all the parent catgeroies
foreach ($store_cats as $cat) {
        // if it's the category we are looking for let's spit it out as an <li>
        if ($cat->getName() == $current_cat) {
                    echo '<li class="current"><a href="'.$this->getCategoryUrl($cat).'">'.$cat->getName()."</a>\n<ul>\n";
                    // let's get all the subcategories no matter how deep (look at function below).
                    getChildCategories();

       }
}
//our new sub-category getter
public function getChildCategories() {

            // lets loop through all the children of the current category and spit out <li> for them    
            foreach ($obj->getCurrentChildCategories() as $subcat) {
                         echo '<li><a href="'.$this->getCategoryUrl($subcat).'">'.$subcat->getName()."</a></li>\n";

                        //lets call ourself again to see whether there are deeper layer to be found
                         getChildCategories();
              }
}

这样可以避免在触底时出错。

这不起作用,我收到错误:----\NetworkError:500 Internal Server error-“是否输入了if语句?如果是,则可能是我们需要用当前类别更新$obj($current\u cat)(可能是它一直在父类别var_dump上循环以查看发生了什么)仍然是相同的问题………你能为我的derectory的left.phtml文件编写完整的代码吗?--frontend/default/default/template/catalog/navigation/left.phtml……这样我就可以在magento frontend页面的左侧找到分类树…谢谢你的帮助………这里有一个问题,有你需要的代码