我一直在制作maga菜单。我用phtml收集了这个集合:
<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
<?php $currentCategory = Mage::registry('current_category') ?>
现在我必须添加过滤器以显示特定类别。就像我想要显示的数组(1,2,3,4)类别一样。那么如何将过滤器应用于此助手。
任何人都有任何建议请回答。
感谢。
答案 0 :(得分:1)
使用此代码
<?php $catids[]=array(1,2,3,4);
foreach($catids as $id):
$_category = Mage::getModel('catalog/category')->load($id);
if($_category->getIsActive()):
echo $_category->getName();
endif;
endforeach;
?>
如果有帮助,请不要忘记链接我的答案
答案 1 :(得分:1)
第一个答案是正确的,但它没有效率,因为它消耗了不必要的数据库往返。 @Karan的代码为每个id发出一个查询数据库。想象一下,如果要过滤的类别ID的数量是50或更高。
我的例子是:
<?php
$catIds = array(1,2,3,4);
$catCollection = Mage::getModel('catalog/category')->getCollection()->addAttributeToFilter('id', $catIds)->addAttributeToFilter('is_active',1);
foreach($catCollection as $category){
echo $category->getName()." ";
}
这会将数据库往返减少到只有一个。