Magento只有父类别id

时间:2013-03-06 11:57:54

标签: magento categories

您好我只需要顶级类别ID,我只需要父类别ID而不是子类别。如:

根类别(不需要其ID)

  1. 家具(仅此ID) 一个。客厅(不是这个子类别) 湾卧室(不是这个)
  2. 我需要只有顶级类别ID不是孩子请帮助我这样做谢谢

3 个答案:

答案 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();