1

我有一个我写的 Magento 助手类,它在 1.3 中运行良好。但是,我们正在开发 1.4 的新安装,并且由于某种原因无法按类别过滤。

函数 __construct()
 {
  法师::app();
  $this->model = Mage::getModel('catalog/product');
  $this->collection = $this->model->getCollection();
  $this->collection->addAttributeToFilter('status', 1);//启用
  $this->collection->addAttributeToSelect('*');
 }

 函数 filterByCategoryID($catID)
 {
  $this->collection->addCategoryFilter(Mage::getModel('catalog/category')->load($catID));
 }

我无法弄清楚为什么这在 1.4 中不起作用。有没有其他人遇到过这个问题?

4

2 回答 2

1

根据您发布的内容,我的猜测是您的代码中还有其他内容可以在您的收藏中添加/删除过滤器。我在 1.4 安装时运行了以下代码

$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToFilter('status', 1)
->addCategoryFilter(Mage::getModel('catalog/category')->load(8))
->addAttributeToSelect('*');

并且产品集合按预期过滤。

扩展您的问题以显示您如何使用您的助手以及您期望它做什么以及它会做什么。

于 2010-04-21T14:36:09.427 回答
1

我能够使用下面的代码让它工作......

function __construct() { Mage::app(); }

function filterByCategoryID($catID)
{
    //$this->collection->addCategoryFilter(Mage::getModel('catalog/category')->load($catID));
    $this->collection = Mage::getModel('catalog/category')->load($catID);

}

于 2010-04-23T18:57:32.680 回答