我使用此代码显示类别树:
$rootcatId= Mage::app()->getStore()->getRootCategoryId();
$categories = Mage::getModel('catalog/category')->getCategories($rootcatId);
function get_categories($categories) {
$array= '<ul>';
foreach($categories as $category) {
$cat = Mage::getModel('catalog/category')->load($category->getId());
//$count = $cat->getProductCount();
$array .= '<li>'.
$category->getId().' <a href="' . Mage::getUrl($cat->getUrlPath()). '">' .
$category->getName(); //. "(".$count.")</a>\n";
if($category->hasChildren()) {
$children = Mage::getModel('catalog/category')->getCategories($category->getId());
$array .= get_categories($children);
}
$array .= '</li>';
}
return $array . '</ul>';
}
echo get_categories($categories);
如何修改它以递归显示隐藏的类别?
非常感谢。
答案 0 :(得分:3)
您可以设置自定义集合,而不是使用getCategories()方法。除非另有说明,否则将显示隐藏的类别。
例如:
$categories = Mage::getModel('catalog/category')
->load(Mage::app()->getStore()->getRootCategoryId())
->getCollection()
->addAttributeToSort('position', 'ASC')
->addFieldToFilter('parent_id',Mage::app()->getStore()->getRootCategoryId())
->addFieldToFilter('include_in_menu',1)
->addAttributeToSelect('name')