Поиск…


Вступление

Полные фильтры для сбора продуктов, основанные на видимости, хранении, и OR, состоянии, статусе и т. Д.

Фильтрация продукции

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

Фильтр на основе магазина:

$mode->addStoreFilter($storeId)

Фильтр по типу продукта:

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

Фильтр, основанный на статусе:

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

Фильтр с использованием null и notnull:

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

Фильтр с использованием больше и меньше:

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

Фильтр, использующий больше и равный:

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

Фильтр, использующий меньше и равный:

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

Фильтровать, используя, а не в:

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

Фильтровать продукты по ряду идентификаторов объекта:

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

Фильтр, основанный на видимости продукта:

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

Фильтровать, используя как и не нравится:

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

Фильтр с использованием равных и не равных:

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

Фильтр в складских продуктах:

$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')

Установить порядок:

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

Установить размер страницы:

$model->setPageSize(100)


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow