magento显示子类别

时间:2010-06-17 08:12:12

标签: php magento

HI, 现在我得到所有类别和子类别。 如何只获得子类别?

<?php foreach ($this->getStoreCategories() as $_category): ?>
    <?php $_menu .= $this->drawItem($_category) ?>
<?php endforeach ?>

2 个答案:

答案 0 :(得分:5)

这将为您提供“母亲”类别+第一级儿童类别。

<ul>
 <?php foreach ($this->getStoreCategories() as $_category): ?>
 <li>
  <strong><?php echo $_category->getName(); ?></strong>
   <?php $_children = $_category->getChildren(); ?>
   <?php if($_children->count()) : ?>
  <ul>
     <?php foreach($_children as $_child) : ?>
   <li><?php echo $_child->getName(); ?></li>
     <?php endforeach; ?>
  </ul>
   <?php endif; ?>
 </li>
 <?php endforeach ?>
</ul>

如果您只想显示第一级子类别,请注释/删除第一个

<strong><?php echo $_category->getName(); ?></strong>

答案 1 :(得分:0)

$ this-&gt; getStoreCategories()返回Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection,其中包含addPathFilter()方法。 看看这个方法的原型:它有一个参数:$ regexp 如果您了解正则表达式,则可以构建一个按路径过滤类别的正则表达式。 首先尝试打印类别路径(通过echo $ _category-&gt; getPathInStore()),然后找到一个正则表达式,按照您希望的方式过滤类别路径。