按类别筛选Magento 1.4

时间:2010-03-24 21:54:04

标签: magento

我有一个自定义模块,用于在主页上显示特色产品。我将其设置为显示属于“特色”类别的产品。它在1.3中工作正常,但现在在1.4中我得到以下错误:

SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'e.category_ids'

这是我的代码:

$_productCollection = Mage::getResourceModel('reports/product_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('visibility', $visibility)
    ->addAttributeToFilter('category_ids',array('finset'=>$featuredcategory))
    $_productCollection->load();

特色类别是从admin。

指定的

任何人可能有什么想法?

2 个答案:

答案 0 :(得分:2)

看起来reports/product_collection模型不再具有category_ids属性。

$_productCollection = Mage::getResourceModel('reports/product_collection')
    ->addAttributeToSelect('*');
$_productCollection->load();
    foreach($_productCollection as $item)
    {
        var_dump(array_keys($item->getData()));
        exit;
    }

您需要找到一个不同的模型来获取所需的信息。

答案 1 :(得分:2)

只是为了澄清答案。您可以通过首先定义要素类别来使其工作:

$_featcategory = Mage::getModel('catalog/category')->load($featuredcategory); 

然后使用普通类别过滤器:

->addCategoryFilter($_featcategory)