Magento – Collection of All Configurable Products with Children

magento-1.9script

What is the best way to Collection of all configurable products (which has children) with sku using script?

How to do that?

Best Answer

Try following code:

<?php
require_once('app/Mage.php');
umask(0);
Mage::app();

$products = Mage::getModel('catalog/product')->getCollection()
    ->addAttributeToSelect('sku')
    ->addFieldToFilter('type_id','configurable');

$data = array();
foreach ($products as $product) {
    $childProducts = Mage::getModel('catalog/product_type_configurable')
                ->getUsedProducts(null, $product);
    if (count($childProducts)) {
        foreach($childProducts as $childProduct) {
            if (isset($data[$product->getSku()]) && $data[$product->getSku()]) {
                $data[$product->getSku()] .= " || ".$childProduct->getSku();
            } else {
                $data[$product->getSku()] = $childProduct->getSku();
            }
        }
    }
}

echo "<pre>";print_r($data);