2012-10-15 4 views
2

Salut J'ai un script qui sélectionne les produits. Mais il sélectionne tous les produits, qui ont un fabricant 3,5. Cela fonctionne bien mais je veux choisir des produits qui n'ont pas rempli un fabricant de champ. Comment puis-je faire ceci?Magento sélectionner les produits filter

$collection = Mage::getModel('catalog/product')->getCollection() 
->addAttributeToFilter('manufacturer', array(3,5)) 
->addAttributeToSelect('*'); 
+0

Je ne comprenais pas ce que vous voulez exactement. S'il vous plaît élaborer ce que vous voulez dire par «je veux sélectionner des produits qui n'ont pas remplir un fabricant de champ» – Kalpesh

+0

Sur mon site Web j'ai 2000 produits, mais seulement 1800 ont le fabricant de remplissage, mais je veux sélectionner les produits qui n'ont pas de remplissage fabricant –

+0

Ohh ok. S'il vous plaît vérifier ma réponse. – Kalpesh

Répondre

4
Mage::getModel('catalog/product')->getCollection() 
    ->addFieldToFilter(
     array(
      array(
       'attribute' => 'manufacturer', 
       'null' => 'null' //this value don't matter 
      )  
     ) 
    ) 
    ->addAttributeToSelect('*'); 
+0

Null fonctionne très bien. Merci pour votre réponse –

+0

@PatrikvanDendis Glad! Veuillez accepter la réponse si cela vous a aidé à résoudre. – Kalpesh

2

Utilisez l'opérateur null:

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

Ou l'opérateur equals:

$collection = Mage::getModel('catalog/product')->getCollection() 
    ->addAttributeToFilter('manufacturer', array('eq' => '')) 
    ->addAttributeToSelect('*');