claudiu-c
2/8/2017 - 4:13 PM

magento1 get a list of all products and check something

magento1 get a list of all products and check something

require_once("app/Mage.php");
$app = Mage::app('');

$products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToFilter('type_id', array('eq' => 'configurable'));

echo "start <br />";
$number = 0;
foreach ($products as $product) {

    $sku = Mage::getModel('catalog/product')->load($product->getId())->getSku();
    $sku = substr($sku, 0, 7);

    $conf = Mage::getModel('catalog/product_type_configurable')->setProduct($product);
    $simple_collection = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();

    foreach($simple_collection as $simple_product){
        if(strpos($simple_product->getSku(),$sku) === false){
            echo "Simple product ".$simple_product->getSku() . " does not match the configurable " . $sku . "<br />";
        }
    }
    $number++;

}
echo "<br />".$number." configurable products counted.";
echo "<br /> done";