Magento类别计数

时间:2013-08-10 06:46:29

标签: magento-1.7

我想让Magento显示产品的总数,包括子类别中的产品。例如。如果主类别有两个产品,子类别有五个产品。

即:

  • 主要类别(12)
  • SUB CATEGORY A(5)
  • SUB CATEGORY B(5)

我该怎么做?

2 个答案:

答案 0 :(得分:1)

尝试使用此代码。

   <ul>               
          <?php 
           // This is category id 
           $id = 42;

           $cat = Mage::getModel('catalog/category')->load($id);
           $subcats = $cat->getChildren();
           foreach(explode(',',$subcats) as $subCatid):
           $_category = Mage::getModel('catalog/category')->load($subCatid);
           if($_category->getIsActive()):  
                $productCount = Mage::getModel('catalog/category')->load($_category->getId())->getProductCount();?>

         <li><a href="<?php echo $_category->getURL();?>"><span><?php echo $_category->getName();?>
<?php echo '('.$productCount.')'?></span></a></li>

        <?php endif;
         endforeach;?>
        </ul>

答案 1 :(得分:0)

否则你可以使用这个功能。

public function getProductCount($category) 
{ 
$prodCollection = Mage::getResourceModel(’catalog/product_collection’)->addCategoryFilter($category); 
Mage::getSingleton(’catalog/product_status’)->addVisibleFilterToCollection($prodCollection); 
Mage::getSingleton(’catalog/product_visibility’)->addVisibleInCatalogFilterToCollection($prodCollection); 
return $prodCollection->count(); 
}