Magento - 如何使用2类过滤器过滤产品系列?

Mar*_*ive 7 magento

有没有人知道是否有办法通过类别过滤器两次运行产品集合?我有一个隐藏的"特色"类别,我添加了产品,因此它们可以作为特色产品获取.目前我正在收集这样的产品系列:

$_productCollection = Mage::getResourceModel('reports/product_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('visibility', $visibility)
    ->addCategoryFilter('36');
    $_productCollection->load();
Run Code Online (Sandbox Code Playgroud)

这在主页上工作正常,但在类别页面上,我需要先按当前类别过滤结果,然后按特色类别过滤:

$_productCollection = Mage::getResourceModel('reports/product_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('visibility', $visibility)
    ->addCategoryFilter('15')
    ->addCategoryFilter('36');
    $_productCollection->load(); 
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎你不能在不编辑核心文件的情况下执行2个类别的过滤器,我不想这样做.

任何想法如何解决这个问题?

我想我可以分别获取2个产品系列,一个按当前类别过滤,一个按特色类别,然后使用PHP的stristr查找驻留在两者中的产品并使用它们,如

  if (stristr($featProductCollection, $currProductCollection))
Run Code Online (Sandbox Code Playgroud)

任何想法?我想我可能需要返回产品的SKU,可能是以逗号分隔的列表.但我不确定最好的方法,这似乎有点hacky.

Mar*_*ive 6

好的,实际上是在别人的帮助下给自己整理了一下:

    $_productCollection = Mage::getResourceModel('reports/product_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('visibility', $visibility)
    ->addCategoryFilter($_category)
    ->addAttributeToFilter('category_ids',array('finset'=>'36'))
    $_productCollection->load();
Run Code Online (Sandbox Code Playgroud)

其中$ _category是当前类别.