Magento - 获取view.phtml中某个类别的项目总数

Ign*_*eia 4 count magento categories

如何获取项目总数,我想在类别view.phtml文件中显示它.通常这个值在Toolbar.phtml中.

我尝试过这样的事情,但我觉得我很遥远:

$这 - >辅助( '目录/输出') - > $ _ productCollection->计数()

Magento版本1.7.0.2

预期结果应该是这样的:

此类别中的项目:17 17应该是总数.如果可能,应包括子类别项.

Ser*_*Guk 15

假设您要在view.phtml中显示它,那么您已经拥有当前的类别对象,以便您可以使用 $_category->getId()

 $products_count = Mage::getModel('catalog/category')->load($_category->getId())
 ->getProductCount();

echo($products_count);
Run Code Online (Sandbox Code Playgroud)

如果你想在list.phtml中使用它,你可以使用

echo($_productCollection->count());
Run Code Online (Sandbox Code Playgroud)


Har*_*dik 7

试试这个,

<?php $_helper = $this->helper('catalog/output');?>
<?php $_category_detail = Mage::registry('current_category');?>
<?php $_category_detail->getName();?>
<?php $_category_detail->getId(); ?>

<?php $products_count = Mage::getModel('catalog/category')->load($_category_detail->getId())
        ->getProductCount();
echo($products_count);
?>
Run Code Online (Sandbox Code Playgroud)

  • 是的,多数民众赞成我想要...谢谢Hardik. (2认同)

小智 6

基本上,您无法在view.phtml中显示已过滤项目的总数.原因是,获取总金额的逻辑不存在于view.phtml$ this上下文中.但逻辑是可用的Mage_Catalog_Block_Product_List_Toolbar块这是一个孩子块Mage_Catalog_Block_Product_List,虽然.

这基本上意味着您可以通过实例化工具栏和列表块来实际获取已过滤项目的总量.执行此操作后,必须使用列表块集合的值设置工具栏块的集合.

view.phtml文件中使用以下代码从工具栏块中获取已过滤的项目总数:

$toolbar = new Mage_Catalog_Block_Product_List_Toolbar();
$list = new Mage_Catalog_Block_Product_List();
$toolbar-> setCollection($list -> getLoadedProductCollection());
$products_count = $toolbar -> getTotalNum();
Run Code Online (Sandbox Code Playgroud)