0

Leftnav 在我的 Magento 网站的所有页面上都处于活动状态。但我想将它隐藏在特定的类别/类别中。

这是我的代码:

    $cat = Mage::getModel('catalog/category')->load(3);
        $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 products for "'.$_sub_category->getName().'" category">'.$_sub_category->getName().'</a></li>';
                  }
             }
          }
        }

        ?>

提前致谢。

4

1 回答 1

0

首先,如果上面的代码取自一个块文件,它不应该有回显或直接输出HTML,它应该将相关数据返回给模板,然后构建并输出HTML。如果上面是一个模板文件,它不应该有那么多逻辑。模板应该只具有非常少的逻辑,而是调用块方法并使用返回的数据。

为了回答您的问题,我建议简单地定义一个不同的页面布局,其中不包括相关类别的设计选项卡下的左列。如果您需要在左栏中维护其他内容,我建议创建一个排除相关内容的新根模板,然后以相同的方式选择它。

于 2013-03-20T16:36:30.313 回答