Magento - 由多个SKU过滤产品系列

Mar*_*ive 12 magento

我知道可以通过一个SKU过滤集合,如下所示:

$_testproductCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('SKU', array('like'=>array('my-sku')));
$_testproductCollection->load();
Run Code Online (Sandbox Code Playgroud)

但是有没有办法添加SKU列表,如下所示(这不起作用):

->addAttributeToFilter('SKU', array('like'=>array('my-sku1, my-sku2, my-sku3')))
Run Code Online (Sandbox Code Playgroud)

Jos*_*osh 22

我没有测试过这个,但我相信这样的事情应该有效:

->addAttributeToFilter( 'sku', array( 'in' => array( 'my-sku1', 'my-sku2', 'my-sku3' ) ) )
Run Code Online (Sandbox Code Playgroud)

  • 这有效,但'SKU'需要小写. (3认同)

Jon*_*osi 11

对于未来的冒险家.

$productSkuString = 'PROD001, PROD002, PROD003';
$productIds = explode(', ', $productSkuString);

$products = Mage::getResourceModel('catalog/product_collection')
    ->addAttributeToSelect('*') // <- careful with this
    ->addAttributeToFilter(
        'sku', array('in' => $productIds)
    )
    ->load();

// usage
foreach($products as $prod) {
    echo $prod->getName();
}
Run Code Online (Sandbox Code Playgroud)

测试在1.7.0.2和1.8.1.0.