0
$this->_productCollection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('manufacturer',array(
    "eq",'43') 
                                           )
                      );

これは、数値である属性の ID に基づいて、特定のメーカーの製品を取得します。

これを変更して、特定のメーカー (または属性) の製品を取得するにはどうすればよいですか?ただし、id ではなく、属性の値を使用します。

4

2 に答える 2

1

これを試すことができます ->addFieldToFilter(array( array('attribute'=>'manufacturer','eq'=>'ABC')

于 2012-10-06T17:02:11.820 に答える
0

試す

    $manufacturer_name = 'xyz';
    $product = NULL;
    $manufacturer_id = NULL;

    $manufacturers  = Mage::getModel('eav/config')->getAttribute('catalog_product','manufacturer')->getSource()->getAllOptions(false,true);

    foreach($manufacturers as $m){
       if(strtolower($m['label']) == strtolower($manufacturer_name)){
          $manufacturer_id = $m['value'];
          continue;
       } 
    }

   if($manufacturer_id){
     $product = Mage::getModel('catalog/product')->loadByAttribute('manufacturer', $manufacturer_id);  
   }

   print_r($product); 
于 2012-10-06T16:38:09.133 に答える