1

我对 Magento 很陌生,我正在尝试弄清楚如何过滤产品集合。情况如下:我的产品具有“风格”,这是产品的属性(风格示例:黄铜)。我需要获得所有其他具有“黄铜”风格的产品。

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

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

谁能帮我?这将不胜感激。

4

2 回答 2

6

你试过这样吗?

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

这将为您提供所有style具有 value属性的产品brass

当您想要从您使用的 EAV 集合中过滤数据addAttributeToFilter时,以及当您想要从您使用的平面表集合中过滤数据时addFieldToFilter

于 2013-05-14T19:26:03.417 回答
0
$collection = Mage::getModel('catalog/product')
                        ->getCollection()
                        ->addAttributeToSelect('*');

foreach ($collection as $product) {


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

    }

使用这样的 getter setter 方法,您可以像我在这里所做的那样访问每个产品属性。

于 2013-05-14T19:17:21.507 回答