按属性选项的Magento过滤器集合

时间:2013-05-14 18:29:33

标签: php magento filter

我对Magento很新,我正试图弄清楚如何过滤一系列产品。情况就是这样:我有一个产品有'样式',这是产品的属性(样式的例子:黄铜)。我需要获得所有其他具有“黄铜”风格的产品。

我做了一些研究并发现了addFieldToFilter()方法,但它似乎没有工作(或者,很可能,我没有正确使用它):

$same_style_collection = Mage::getModel('catalog/product')->getCollection()
    ->addFieldToFilter(array(array('attribute' => 'name', 'like' => 'brass')));

任何人都可以帮助我吗?非常感谢。

2 个答案:

答案 0 :(得分:6)

你试过这样的吗?

$collection = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToFilter('style', 'brass');

这将为您提供属性style且价值为brass的所有产品。

如果要从EAV集合中过滤数据,请使用addAttributeToFilter,如果要从Flat表集合中过滤数据,请使用addFieldToFilter

答案 1 :(得分:0)

$collection = Mage::getModel('catalog/product')
                        ->getCollection()
                        ->addAttributeToSelect('*');

foreach ($collection as $product) {


    echo $product->getName() . "<br />";

    }

使用这种getter setter方法,您可以像我在这里一样访问每个产品属性。<​​/ p>