0

导出后,更改一些细节,然后将大量产品导入 Magento,我注意到所有图像都不再设置。图像仍然存在于每个产品的媒体库中,但它们未设置为基本图像。

我已经看到在某些情况下,您需要将图像复制到 /media/import/ 文件夹,但是是否可以更改导入文件以便我可以将图像保留在原处?

现在,所有图像似乎都在一个文件夹中:/media/catalog/product/

任何帮助将不胜感激。

此外,如果可以运行将所有产品的基本图像设置为其图库中的第一个图像的脚本,那也可以。谢谢!

4

1 回答 1

1

假设您已加载产品并准备进行更改并保存它们。使用此代码:

if (file_exists($imagePath)) {//New image file
 //Load your media table
 $mediaApi = Mage::getModel("catalog/product_attribute_media_api");
 try {
 //Now you have all the images available for your product 
 //if you previously have assign anything
  $items = $mediaApi->items($product->getId());
 //loop them
      foreach ($items as $item) {
 //With that line you can remove them if you want
 echo ($mediaApi->remove($product->getId(), $item['file']));
             }
   } catch (Exception $exception) {
           var_dump($exception);
    die('Exception Thrown');
    }

 $cache = Mage::getSingleton('core/cache');
 $cache->flush();
//You need that line
$product->setMediaGallery(array('images' => array(), 'values' => array()));
//That line assigns your new image.As base,thumbail and image.
//Use it in the loop if you want to reassign an existing image.
$product->addImageToMediaGallery($imagePath, array('thumbnail', 'small_image', 'image'), false, false);

我希望这可以帮助你干杯!

于 2013-11-14T21:47:11.693 回答