Magento 无法获取给定类别的产品集合

Magento 无法获取给定类别的产品集合,magento,magento-1.9,Magento,Magento 1.9,我已经编写了一个从list.phtml文件调用的方法。 逻辑应该只输出当前查看类别中的产品数量以及最高和最低价格。真的很直截了当 出于我无法理解的原因,它总是返回当前类别不包含任何产品,我不知道为什么,但我认为这是因为我没有正确获取产品集合 这是我的方法的代码 public function writeCatInfo(){ if(Mage::registry('current_category')){ $_productCollection=$thi

我已经编写了一个从list.phtml文件调用的方法。 逻辑应该只输出当前查看类别中的产品数量以及最高和最低价格。真的很直截了当

出于我无法理解的原因,它总是返回当前类别不包含任何产品,我不知道为什么,但我认为这是因为我没有正确获取产品集合

这是我的方法的代码

    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