magento addImageToMediaGallery不起作用

问题描述:

我试图以编程方式将图像添加到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

<?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

错误报告是对的,我第一次尝试把我的图片的根目录,但没有运气 –