Magento:使用ORDER BY获取产品类别

时间:2016-03-23 17:28:36

标签: php magento

我目前正在产品view.phtml页面上检索当前产品所链接的类别列表,其中包含以下内容:

$cats = $_product->getCategoryIds();

然后在页面上循环它们:

foreach($cats as $category_id)
{
  $_cat = Mage::getModel('catalog/category')->load($category_id);
  // do stuff
} 

如何检索按类别名称排序的此列表?

或者我已尝试过以下操作,但是当我在foreach语句中使用$ catCollection时,我发出了404错误?

$catIds = $_product->getCategoryIds();
$catCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('*')  
->addAttributeToFilter('entity_id', $catIds)
->addAttributeToSort('name', 'ASC')
->addIsActiveFilter();

感谢。

1 个答案:

答案 0 :(得分:4)

目前无法对此进行测试,但这应该适合您:

执行此操作而不是使用foreach来使它们按顺序排列。

$catIds = $_product->getCategoryIds();
$catCollection = Mage::getModel('catalog/category')
    ->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('entity_id', array('in' => $catIds))
    ->addAttributeToSort('name', 'ASC');
foreach($catCollection as $cat){
    echo $cat->getName(), "<br>";
}