我正在过滤包含大量数据的集合。我有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的过滤器不起作用。 返回的权重值是从默认视图中获取的值。 如何过滤以使产品没有为列表中排除的特定商店视图指定数据?
答案 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>";
}
}