2017-09-21 35 views
1

我試圖以編程方式將圖像添加到magento產品中,但沒有運氣。magento addImageToMediaGallery不起作用

我找到函數addImageToMediaGallery能做到這一點,但它不工作

$p = Mage::getModel('catalog/product')->load($id); 

// save product 
foreach ($imgs as $k => $img) { 


    $img_path = Mage::getBaseDir('media'). $img; 
    if(!$k) { 
     $p->addImageToMediaGallery($img_path , array('small_image', 'thumbnail', 'image'), false, false); 
    } else { 
     $p->addImageToMediaGallery($img_path , array(), false, false); 
    } 
    $p->save(); 

} 

我知道

  • 產品加載成功我嘗試$p->getName(),我拿到冠軍

  • 路徑是正確的,圖像確實存在/home/tronixco/public_html/caskyco/media/temp_images/dji_phantom_4_drone_4k_hd_camerea_3_axis_gimbal_5km_range_with_28_minutes_flight_time_manfrotto_bag_pack_4_.jpg

  • addImageToMediaGallery正在做一些工作,因爲它的圖像複製到catalog/product/d/j...

  • 在管理面板product_edit沒有什麼,就像沒有圖像已被上傳什麼那麼

  • IM運行的外部腳本並沒有得到在VAR文件夾中的任何日誌既不error_logs任何錯誤文件

  • 這整個代碼函數內部運行product_add_images($id , $images)

磁版本是1.9.2.4

回答

0
<?php 
require_once 'app/Mage.php'; 
Mage::app(); 
Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID); 
$importDir = Mage::getBaseDir('media') . DS . 'bulkimages/101/'; 

$productsData = array('Purple-Crown-Ring-MFAS.jpg','Purple-Crown-Ring-MFC.jpg','Purple-Crown-Ring-MSAS.jpg','Purple-Crown-Ring-MSF.jpg'); 

$productSKU = '111'; 
$ourProduct = Mage::getModel('catalog/product')->loadByAttribute('sku',$productSKU); 

foreach($productsData as $fileName){ 
    $filePath = $importDir.$fileName; 
    if (file_exists($filePath)) { 
     $ourProduct->addImageToMediaGallery($filePath, array('image', 'small_image', 'thumbnail'), false, false); 
     $ourProduct->save(); 
     echo "done "; 
    } else { 
     echo $productSKU . " not done"; 
     echo "<br>"; 
    } 
} 
?> 
+0

它不工作 –

+0

只是把你的根文件夾,並啓用錯誤報告 – Arun

+0

錯誤報告是對的,我第一次嘗試把我的圖片的根目錄,但沒有運氣 –