有没有人知道是否有办法通过类别过滤器两次运行产品集合?我有一个隐藏的"特色"类别,我添加了产品,因此它们可以作为特色产品获取.目前我正在收集这样的产品系列:
$_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.
好的,实际上是在别人的帮助下给自己整理了一下:
$_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是当前类别.
| 归档时间: |
|
| 查看次数: |
19200 次 |
| 最近记录: |