수색…


소개

가시성, 매장 및 재고 상태, 상태 등을 기준으로 제품 컬렉션을위한 완벽한 필터

제품 컬렉션 필터링

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

in 및 not in을 (를) 사용하여 필터링 :

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

엔티티 ID로 제품 필터링 :

$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

like와 like를 사용하여 필터링 :

$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