【发布时间】:2015-12-26 11:20:40
【问题描述】:
我希望你能帮助我解决这个问题。我正在使用 Magento 1.9.2.2 的导入脚本来下载和设置多个产品图像。不幸的是,最后一个图像被设置为默认值,而不是第一个。请看以下代码,将第一个产品图像设置为默认值应该更改什么?
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);
}
}
}
【问题讨论】:
-
virginiabeachwebdevelopment.com/web-development-blog/… 分配默认产品属性集。 // 获取和设置默认属性集 $def_attribute_set = Mage::getModel('catalog/product')->getResource()->getEntityType()->getDefaultAttributeSetId(); $product->setAttributeSetId($def_attribute_set); // 需要查看这个 - 查看更多信息:virginiabeachwebdevelopment.com/web-development-blog/…
-
$filesArray = $this->getGallaryFiles($sku); //download images这可能是一个问题,而不是getGalleryFiles和e?也许你让他们回来的顺序可以改变。 ShaileshTapa 的回答说他已经“将最后一个图像设置为基础......”所以也许里面有东西。 stackoverflow.com/questions/19153891/…
标签: php magento-1.9