按storeview过滤检索未指定storeview特定数据的产品

时间:2014-07-25 16:21:11

标签: magento

我正在过滤包含大量数据的集合。我有9种不同的商店视图。

$productCollection = Mage::getModel('catalog/product')->getCollection()->setStoreId($storeId)->addAttributeToSelect('weight');

    $cnt = 0;
    foreach ($productCollection as $product) {

        $weight = $product->setStoreId($storeId)->getweight();
        echo $product->getsku() . "<br>";
    }

奇怪的是,即使是那些没有任何特定商店视图信息的产品,我也得到了所有的sku。所以似乎storeview的过滤器不起作用。 返回的权重值是从默认视图中获取的值。 如何过滤以使产品没有为列表中排除的特定商店视图指定数据?

1 个答案:

答案 0 :(得分:0)

有点慢,但我用这种方式解决了过滤:

foreach ($productCollection as $product) {

    $storeIds = $product->getStoreIds();
    if (in_array($storeId, $storeIds)) {

        // only products present in selected storeview
        $weight = $product->setStoreId($storeId)->getweight();
        echo $product->getsku() . "<br>";
    }
}