通过具有值数组的属性获取产品集合过滤器

时间:2014-06-06 12:06:16

标签: arrays magento

我希望通过magento中包含值数组的属性来获取产品集合过滤器。

例如:获取颜色来自阵列('红色'蓝色'绿色')或品牌来自阵列的产品(' X'' Y'' Z').....

注意:属性过滤器不会是交集。我提到了 OR 。因此,它将加入以形成最终产品集合

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

 $productCollection =Mage::getModel('catalog/product')->getCollection()
 $productCollection ->addFieldToFilter(
                array('color', 'brand'),
                array(
                    array('in' => array('red', 'blue', 'green')),
                    array('in' => rray('x','y'))
                )
            );

但是color是一个select属性,你应该传递选项的红色/蓝色/绿色值id

答案 1 :(得分:0)

看看@ code to filter product by attribute by color in magentoMagento - Wiki - Using Collections in Magento

$filter = array(
    'attribute' => 'color',
    'in'        => array('red', 'blue', 'green'), // you may need get the code id of each color
    ),
array(
    'attribute' => 'brand',
    'in'      => array('x','y'),
    ),
));

$productCollection =Mage::getModel('catalog/product')->getCollection()
                           ->addAttributeToFilter($filter)