【发布时间】:2014-06-23 06:46:48
【问题描述】:
好的,我在下面编写的代码效果很好,但是我有一些页面可能会达到几百个类别,我不想每次都通过 foreach 循环 ping 数据库。基本上是在寻找更好的方式来处理集合。其次,有没有办法可以验证此类别是否处于活动状态。
<ul>
<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php foreach($_categories as $_category): ?>
<?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?>
<?php $_subcategories = $_category->getChildrenCategories() ?>
<?php foreach($_subcategories as $_subcategory): ?>
<li><a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>"><?php echo $_subcategory->getName() ?></a></li>
<?php endforeach; ?>
<?php endforeach; ?>
</ul>
【问题讨论】:
-
这可能是您最好的选择。您可以获取类别集合,然后使用类别的
path使用一些自定义 PHP 确定子项。 ($_parent->getPath; /* 1/2/3 */ $_child->getPath(); /* 1/2/3/4 */)
标签: php performance magento magento-1.8