我有一个magento网站,我的产品通过csv文件上传。现在我需要更新该产品的图像。 我所有的图像都下载并保存在我的magento网站媒体文件夹中。我用图像文件的'SKU'和'Absolute path'创建了一个csv文件。以编程方式向Magento Products添加多个图像
然后我试图加载与下面的代码
<?php
require_once 'app/Mage.php';
Mage::app();
Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID);
$importDir = Mage::getBaseDir('media') . DS . 'Products/Vases/';
$file_handle = fopen("sku_image.csv", "r");
while (($data = fgetcsv($file_handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
$productSKU = $data[0];
$ourProduct = Mage::getModel('catalog/product')->loadByAttribute('sku',$productSKU);
for ($c=1; $c < $num; $c++) {
$fileName = $data[$c];
$filePath = $importDir.$fileName;
if (file_exists($filePath)) {
if ($ourProduct) {
$ourProduct->addImageToMediaGallery($filePath, array('image', 'small_image', 'thumbnail'), true, false);
$ourProduct->save();
}
} else {
echo $productSKU . " not done";
echo "<br>";
}
}
}
fclose($file_handle);
?>
图像问题是,最后的图像设置在产品媒体属性的所有领域。如何通过上述代码将图像添加到不同的媒体属性。
我已经改变了我的代码如下
<?php
require_once 'app/Mage.php';
Mage::app();
Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID);
$importDir = Mage::getBaseDir('media') . DS . 'Products/Vases/';
$file_handle = fopen("sku_image.csv", "r");
while (($data = fgetcsv($file_handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
$productSKU = $data[0];
$ourProduct = Mage::getModel('catalog/product')->loadByAttribute('sku',$productSKU);
for ($c=1; $c<$num; $c++) {
$fileName = $data[$c];
$filePath = $importDir.$fileName;
if (file_exists($filePath)) {
if ($ourProduct) {
if ($c==1) {
$ourProduct->addImageToMediaGallery($filePath, 'rotator_image', false, false);
} else {
$ourProduct->addImageToMediaGallery($filePath, null, false, false);
}
$ourProduct->save();
}
} else {
echo $productSKU . " not done";
echo "<br>";
}
}
echo "<br>";
}
fclose($file_handle);
?>
现在我面前的网站已经坠毁。无法加载我的网站中的任何产品。 任何人都有想法我失踪?
“rotator_image”是我的属性的属性设置“图像” –
rotator_image,我不认为这个工程,你认为它的方式。此外,你的循环是可疑的,你似乎用for循环遍历列。 –
我发现了这个问题。如果有任何sku有3个图像网址,上面的代码将为该产品添加5个图像。额外的2个图像路径与分数1('_1')下的帖子重复。这个新路径在目录中有任何有效的文件。这就是为什么我的网站正在崩溃。有什么想法吗 ? –