2015-07-10 37 views
0

我有一堆爲我店的產品圖像。現在,我不想逐個添加所有圖像,因爲這會非常耗時。照片的文件名相同的產品名稱,所以我想這:圖像導入到magento

<?php 
require_once('app/Mage.php'); 
umask(0); 
Mage::app('default'); 
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 
$importDir = Mage::getBaseDir('media') . DS . 'import/'; 
$_productCollection = Mage::getModel('catalog/product') 
       ->getCollection()->addAttributeToSelect('*'); 
foreach($_productCollection as $_product) 
{  $fileName = $_product->getName(); 
     $filePath = $importDir.$fileName; 
     if (file_exists($filePath)) { 
     try { 
      $_product->addImageToMediaGallery($filePath, 'image', false, false); 
      $_product->addImageToMediaGallery($filePath, 'small_image', false, true); 
     } catch (Exception $e) { 
      echo $e->getMessage(); 
     } 
    } 
     $_product->save(); 
} 
?> 

代碼本身會工作,如果我會採取一個具體的形象,但它不工作爲名。所有圖像都在導入文件夾內。

謝謝!

回答

1

您不用提及圖片(i.e., .jpg, .png, etc)的擴展名。

你必須添加擴展爲$filepath

$filePath = $importDir.$fileName.'.png'; //if all images are png 
+0

哇確定我忽略了。謝謝! – Toby