呼び出しでの問題の嘘addStoreFilter()
でgetUsedProductCollection()
:
public function getUsedProductCollection($product = null)
{
$collection = Mage::getResourceModel('catalog/product_type_configurable_product_collection')
->setFlag('require_stock_items', true)
->setFlag('product_children', true)
->setProductFilter($this->getProduct($product));
if (!is_null($this->getStoreFilter($product))) {
$collection->addStoreFilter($this->getStoreFilter($product));
}
return $collection;
}
これにより、現在のストアで販売可能な商品のみを表示するフィルターが追加されます。
$configurable
が構成可能な製品のタイプインスタンスである場合、を呼び出す前に、getUsedProductCollection()
次のようにストアフィルターの設定を解除できます。
$configurable->setStoreFilter(null);
完全なソリューション:
$configurable = $product->getTypeInstance();
$configurable->setStoreFilter(null);
$simpleCollection = $configurable->getUsedProductCollection()
->addAttributeToSelect('*')
->addFilterByRequiredOptions();
foreach ($simpleCollection as $simple) {
//$simple->getName();
}