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 />";

    }

このようなゲッター セッター メソッドを使用すると、ここで行ったようにすべての製品属性にアクセスできます。

于 2013-05-14T19:17:21.507 に答える