Recherche…


Introduction

Filtres complets pour la collecte de produits en fonction de la visibilité, du magasin et de la salle d'opération, de l'état du stock, de l'état, etc.

Filtrage de la collection de produits

$model = Mage::getModel('catalog/product')->getCollection()

Filtre basé sur le magasin:

$mode->addStoreFilter($storeId)

Filtre basé sur le type de produit:

$mode->addAttributeToFilter('type_id', 'configurable')
$mode->addAttributeToFilter('type_id', 'simple')

Filtre basé sur le statut:

$model->addAttributeToFilter('status',Mage_Catalog_Model_Product_Status::STATUS_DISABLED)
$model->addAttributeToFilter('status',Mage_Catalog_Model_Product_Status::STATUS_ENABLED)

Filtrer en utilisant null et notnull:

$model->addAttributeToFilter('short_description', array('null' => true))
$model->addAttributeToFilter('short_description', array('notnull' => true))

Filtrer en utilisant plus que et moins que:

$model->addAttributeToFilter('entity_id', array('gt' => 64230))
$model->addAttributeToFilter('entity_id', array('lt' => 64230))

Filtre en utilisant plus grand que et égal à:

$model->addAttributeToFilter('entity_id', array('gteq' => 64230))

Filtrer en utilisant moins que et égal à:

$model->addAttributeToFilter('entity_id', array('lteq' => 64230))

Filtrer en utilisant et non en:

$model->addAttributeToFilter('entity_id', array('in' => array(1,4,64231)))
$model->addAttributeToFilter('entity_id', array('nin' => array(1,4,64231)))

Filtrer les produits par une plage d'identifiant d'entité:

$model->addAttributeToFilter('entity_id', array(
             'from' => 64229,
             'to' => 64231
             ))

Filtrer en fonction de la visibilité du produit:

$model->addAttributeToFilter('visibility', 4) //catalog,search
$model->addAttributeToFilter('visibility', 3) //catalog
$model->addAttributeToFilter('visibility', 2) //search
$model->addAttributeToFilter('visibility', 1) //not visible individually

Filtrer en utilisant comme et pas comme:

$model->addAttributeToFilter('sku', array('nlike' => '5713%'))
$model->addAttributeToFilter('sku', array('like' => '%shirt%'))

Filtre en utilisant égal à et non égal à:

$model->addAttributeToFilter('sku', array('neq' => 'shirt'))
$model->addAttributeToFilter('sku', array('eq' => 'shirt'))

Filtrer dans les produits en stock:

$model->joinField('is_in_stock',
                'cataloginventory/stock_item',
                'is_in_stock',
                'product_id=entity_id',
                'is_in_stock=1', //make this 0 for out of stock products
                '{{table}}.stock_id=1',
                'left')

Définir l'ordre par:

$model->setOrder('entity_id','desc')

Définir la taille de la page:

$model->setPageSize(100)


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow