Magento 无法获取给定类别的产品集合
我已经编写了一个从list.phtml文件调用的方法。 逻辑应该只输出当前查看类别中的产品数量以及最高和最低价格。真的很直截了当 出于我无法理解的原因,它总是返回当前类别不包含任何产品,我不知道为什么,但我认为这是因为我没有正确获取产品集合 这是我的方法的代码Magento 无法获取给定类别的产品集合,magento,magento-1.9,Magento,Magento 1.9,我已经编写了一个从list.phtml文件调用的方法。 逻辑应该只输出当前查看类别中的产品数量以及最高和最低价格。真的很直截了当 出于我无法理解的原因,它总是返回当前类别不包含任何产品,我不知道为什么,但我认为这是因为我没有正确获取产品集合 这是我的方法的代码 public function writeCatInfo(){ if(Mage::registry('current_category')){ $_productCollection=$thi
public function writeCatInfo(){
if(Mage::registry('current_category')){
$_productCollection=$this->getLoadedProductCollection;
$catname = Mage::registry('current_category')->getName();
$priceArray = array();
foreach ($_productCollection as $_product){
$priceArray[] = $_product->getSpecialPrice();
}
$numItems = count($_productCollection);
$highPrice = number_format(max($priceArray),2);
$lowPrice = number_format(min($priceArray),2);
$infostring = ucwords($catname)." contains ".$numItems." products with prices ranging from £".$lowPrice." to £".$highPrice;
echo $infostring;
}
}
这将帮助您获取当前类别的产品集合
$category_id = Mage::getModel('catalog/layer')->getCurrentCategory()->getId();
$category = Mage::getModel('catalog/category')->load($category_id);
$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addCategoryFilter($category)
->setOrder('price', 'ASC')
->load();
原来我的助手扩展了错误的类-
Mage\u Core\u helper\u Abtract
,而不是Mage\u Catalog\u Block\u Product\u List
。更改此选项可修复此问题。请参阅下面的代码以按类别id获取产品集合
$products=Mage::getModel('catalog/category')->load($category\u id)
->getProductCollection()
->addAttributeToSelect('*')//添加所有属性-可选
->addAttributeToFilter('status',1)//已启用
->addAttributeToFilter('visibility',4)//目录中的可见性,搜索
->setOrder(“价格”、“ASC”)//设置调用
getLoadedProductCollection
方法中缺少括号的按价格订购。希望能有所帮助。添加parethesis会产生“致命错误:调用未定义的方法”错误。在其中,您编写了此函数writeCatInfo