HI, 现在我得到所有类别和子类别。 如何只获得子类别?
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php $_menu .= $this->drawItem($_category) ?>
<?php endforeach ?>
答案 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()),然后找到一个正则表达式,按照您希望的方式过滤类别路径。