我有一个我编写的Magento助手类,它在1.3中运行得非常好。但是,我们正在进行1.4的新安装,按类别过滤不会出于某种原因。
function __construct() { Mage::app(); $this->model = Mage::getModel('catalog/product'); $this->collection = $this->model->getCollection(); $this->collection->addAttributeToFilter('status', 1);//enabled $this->collection->addAttributeToSelect('*'); } function filterByCategoryID($catID) { $this->collection->addCategoryFilter(Mage::getModel('catalog/category')->load($catID)); }
我无法弄清楚为什么这不适用于1.4。还有其他人遇到过这个问题吗?
答案 0 :(得分:1)
根据您发布的内容,我的猜测是您的代码中还有其他内容可以在您的收藏中添加/删除过滤器。我在1.4安装上运行了以下代码
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToFilter('status', 1)
->addCategoryFilter(Mage::getModel('catalog/category')->load(8))
->addAttributeToSelect('*');
并按预期过滤产品系列。
扩展您的问题,以展示您如何使用助手以及您希望它做什么以及它有何帮助。
答案 1 :(得分: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);
}
function filterByCategoryID($catID)
{
//$this->collection->addCategoryFilter(Mage::getModel('catalog/category')->load($catID));
$this->collection = Mage::getModel('catalog/category')->load($catID);
}