您好我只需要顶级类别ID,我只需要父类别ID而不是子类别。如:
根类别(不需要其ID)
我需要只有顶级类别ID不是孩子请帮助我这样做谢谢
答案 0 :(得分:1)
如果没有错,你只会寻找LEVEL 2类别ID。如果是这样,下面的代码可以帮助您
$categoryCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('level','2')
->addAttributeToSort('name', 'ASC')
->addIsActiveFilter();
foreach($categoryCollection as $cat){
echo '<br/>'.$cat->getId().' | '.$cat->getName();
}
要获得Level 2和Leve 4 catgories,只需使用'in'运算符来提交您的集合,如下所示:
$categoryCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('level',array('in'=>('2','4')))
->addAttributeToSort('name', 'ASC')
->addIsActiveFilter();
foreach($categoryCollection as $cat){
echo '<br/>'.$cat->getId().' | '.$cat->getName();
}
答案 1 :(得分:0)
使用以下代码
$children = Mage::getModel('catalog/category')->getCategories(Mage::app()->getStore()->getRootCategoryId());
foreach ($children as $category) {
echo $category->getId();
}
答案 2 :(得分:0)
使用下面的代码
$_categories=Mage::getModel('catalog/category')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('level',2)
->addIsActiveFilter();