我想让 Magento 显示产品的总数,包括子类别中的产品。例如。如果主类别有两个产品,一个子类别有五个产品。
IE:
- 主要类别 (12)
- 子类别 A (5)
- 子类别 B (5)
我怎样才能做到这一点?
我想让 Magento 显示产品的总数,包括子类别中的产品。例如。如果主类别有两个产品,一个子类别有五个产品。
IE:
我怎样才能做到这一点?
试试这个代码。
<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>
否则你可以使用这个功能。
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();
}