Magento-获取方法计数()的错误编号

Magento-获取方法计数()的错误编号,magento,Magento,嗨 我已将12种产品分配给类别电话(id=12),并且 {{block type=“catalog/product\u list”category\u id=“12”template=“catalog/product/list2.phtml”} 在CMS页面中,我放置了 到list2.phtml 为什么是9而不是12 我在后端设置了“网格上每页产品默认值=9”,这是否会影响上面的结果,以及如何修复它 谢谢你,而不是 echo $_productCollection->count() …

嗨 我已将12种产品分配给类别电话(id=12),并且

{{block type=“catalog/product\u list”category\u id=“12”template=“catalog/product/list2.phtml”}

在CMS页面中,我放置了

到list2.phtml

为什么是9而不是12

我在后端设置了“网格上每页产品默认值=9”,这是否会影响上面的结果,以及如何修复它

谢谢你,而不是

echo $_productCollection->count()
…请尝试以下方法:

echo $_productCollection->getSize()

内部
getSize()
使用
getSelectCountSql()
,它接受原始select语句,去掉页面限制并直接查询数据库。因此,即使加载了较短的分页列表,它也会返回正确的答案。而
count()
返回加载列表中的实际项数。

在Mage\u Catalog\u Block\u Product\u列表的_getProductCollection()方法中设置断点,并使用例如xdebug和PDT进行调试。请注意,如果没有适当的调试环境,在Magento上执行任何操作都是非常困难的。感谢您的建议,很抱歉Magento API不适合添加到@clockworkgeek-加载列表中的项目数不是完整集合大小的原因是集合正在分页。默认情况下,Magento将使用管理员中的设置进行分页(默认为每页9个)。我还发现使用count($collection->getData())进行最近的一次Magento修改非常有用。虽然我认为getSize()可能会做完全相同的事情,但它似乎比其他方法要快。@adpro该方法在对结果进行分页时会给出错误的数字,如原始问题所示
getSize()
的工作方式不同,对于大型集合,它的工作速度更快。通过调用
getData()
,您将跳过正常加载的几个部分,这比
count()
稍快,但也意味着您可能会错过一些重要的处理。请不要建议人们使用那个黑客。