I'm having configurable products with 2 Attributes. Size and Color
It's been linked like this,
Size | Color
--------------------------------
30 | Red (5 available), Green (1 available), Black (2 available)
32 | Green (2 available)
34 | Black (3 available), Blue (0 available)
36 | Black (0 available)
Basically i'm trying to display available sizes in category list page (list.phtml)
like this
Size: 30 , 32 , 34, 36 (36 not bold coz it's not available)
so far i;ve tried this in list.phtml
$data = array();
if($_product->isConfigurable()){
$allProducts = $_product->getTypeInstance(true)->getUsedProducts(null, $_product);
foreach ($allProducts as $subproduct) {
$sizes[] = $subproduct->getAttributeText('waist');
$data[] = array(
'name' => $subproduct->getAttributeText('waist'),
'qty' => $subproduct->getStockItem()->getQty()
);
}
if(count($data)>0) {
sort($data);
?>
<div>
Size : <?php echo '<pre>'; print_r($data); echo '</pre>'; ?>
</div>
<?
}
}
It's working but it's giving me lot of duplicated values, coz every size is linked to one or more colors.
I can solve this by array sort & group, but i'm sure that it's not the proper way?
Coz i'm having more than 300 Configurable products and all associated to 25 + simple products.
Is there any way to achieve the same in magento way ??