2013-11-14 105 views
0

導出後,更改一些細節,然後將大量產品導入Magento後,我注意到不再設置所有圖像。圖像仍然存在於每個產品的媒體庫中,但它們未被設置爲基本圖像。將產品導入Magento會破壞現有產品上的圖像

我已經看到,在某些情況下,您需要將圖像複製到/ media/import /文件夾,但可以更改導入文件以便將圖像保留在原來的位置嗎?

眼下,所有的圖像似乎是一個文件夾中:/媒體/目錄/產品/

任何幫助將是非常讚賞。

此外,如果有可能運行腳本將所有產品的基礎圖像設置爲其圖庫中的第一個圖像,那麼也可以。謝謝!

回答

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); 

我希望能幫到你 乾杯!

相關問題