I hope you can help me with this issue. I am using an import script for Magento 1.9.2.2 to download and set multiple product images. Unfortunately the last image is set as default and not the first one. Please see following code, what should be changed to set the first product image as default?
public function insertProduct($sku,$productDataArray)
{
if(isset($productDataArray[$sku]) && !empty($productDataArray[$sku]))
{
$_product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
if(!($_product))
{
$filesArray = $this->getGallaryFiles($sku); //download images
$newProduct = Mage::getModel('catalog/product');
$newProduct->setData($productDataArray[$sku]);
if(isset($filesArray) && !empty($filesArray))
{
$newProduct->setMediaGallery(array('images'=>array (), 'values'=>array ()));
$imageDir = Mage::getBaseDir('media').DS.'gallary_import'.DS.$sku.DS;
$firstImage = true;
foreach ($filesArray as $key => $file) {
if($firstImage)
$newProduct->addImageToMediaGallery($imageDir.$file, array('image','small_image','thumbnail'), true, false);
else
$newProduct->addImageToMediaGallery($imageDir.$file, array('image'), true, false);
}
rmdir($imageDir);
}
$newProduct->save();
unset($_product);
unset($newProduct);
$this->_counts++;
}else{
/*$newProduct = Mage::getModel('catalog/product')->load($_product->getId());
$newProduct->setData($productDataArray[$sku]);
$newProduct->save();
unset($newProduct);
$this->_counts++;*/
unset($_product);
}
}
}