2012-04-05 45 views
0

此代码仅适用于非锚点类别 - 如何获取锚点类别的产品数量?如何获取锚类别的产品数量?

<div class="grid_16"><h1 class="highlight pageTitle"><?php echo $_helper->categoryAttribute($_category, $_category->getName(), 'name') ?> 

     <span> 
      (<?php echo $_category->getProductCount() ?>) 
     </span> 

    </h1></div> 
+0

http://www.magentocommerce.com/boards/viewthread/200940/#t270248 – 2012-04-05 20:50:40

+0

检查文档,有一个方法是计数锚和nonanchor [http://docs.magentocommerce.com/Mage_Catalog/Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection.html] – 2012-04-06 09:09:36

回答

5
$prodCollection = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($category); 

var_dump($prodCollection->count()); 
+0

Hel罗,这工作很好tk,只是一个问题,计数包括禁用的产品,我怎么能删除这个? – Federico 2012-07-12 21:39:01

+0

需要添加过滤器 - 状态 – Magefast 2012-07-15 21:30:42

+0

需要添加过滤器,如 - 状态。但是如果你想使用Resourse模型,这是非常糟糕的解决方案,因为它非常依赖于Magento的速度。只使用模型! – Magefast 2012-07-15 21:36:40

1

正如在这里看到:magento forum

$category_object = Mage::getModel('catalog/category')->load(CATEGORY_ID); // If you don't already have one 
$total = Mage::getModel('catalog/layer')->setCurrentCategory($category_object)->getProductCollection()->getSize() 

将展示的产品正确数量

相关问题