图片导入magento
Image import into 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();
}
?>
如果我拍摄一张特定的图像,代码本身会起作用,但它不适用于名称。所有图像都在导入文件夹中。
谢谢!
你不会提到图像的扩展名 (i.e., .jpg, .png, etc)
。
您必须为 $filepath
添加扩展名
$filePath = $importDir.$fileName.'.png'; //if all images are png
我有一堆我商店的产品图片。现在,我不想一张一张地添加所有图像,因为这会非常耗时。图像的文件名等于产品名称,所以我试了这个:
<?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();
}
?>
如果我拍摄一张特定的图像,代码本身会起作用,但它不适用于名称。所有图像都在导入文件夹中。
谢谢!
你不会提到图像的扩展名 (i.e., .jpg, .png, etc)
。
您必须为 $filepath
$filePath = $importDir.$fileName.'.png'; //if all images are png