magento
完全な製品コレクション
サーチ…
前書き
可視性、店舗、および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))
inとnotを使ってフィルタリングする:
$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