我正在以编程方式创建产品和图片。唯一不起作用的是“从图库中排除”功能。
有关详细信息,请参阅http://snag.gy/QGhPg.jpg。
我如何在代码中设置它?我目前的代码如下:
$product->addImageToMediaGallery($myImage, array('image','thumbnail','small_image'), false, false);
该标志被称为disabled
我认为,但不确定。
谢谢!
答案 0 :(得分:2)
例如,禁用产品的所有图像
$product = Mage::getModel('catalog/product')->load(12345);
$images = $product->getMediaGalleryImages();
$attributes = $product->getTypeInstance(true)->getSetAttributes($product);
$mediaGalleryAttribute = $attributes['media_gallery'];
foreach ($images as $image) {
$mediaGalleryAttribute->getBackend()->updateImage($product, $image['file'], array('exclude' => true));
}
$product->save();
答案 1 :(得分:1)
尝试使用:
$product->addImageToMediaGallery($myImage, array('image','thumbnail','small_image'), false, true);
最后一个参数应设置为true
,以便从图库中排除图片。
请参阅:app/code/core/Mage/Catalog/Model/Product.php
。
答案 2 :(得分:0)
尝试以下代码..首先保存产品并插入图片
$productid=10; // Product id of that product which image you want to update
//for remove existing Images
$loadpro=Mage::getModel('catalog/product')->load($productid);
$mediaApi = Mage::getModel("catalog/product_attribute_media_api");
$mediaApiItems = $mediaApi->items($loadpro->getId());
foreach($mediaApiItems as $item) {
$datatemp=$mediaApi->remove($loadpro->getId(), $item['file']);
}
$loadpro->save(); //before adding need to save product
//for add new images
$loadpro=Mage::getModel('catalog/product')->load($loadpro->getId());
$loadpro->addImageToMediaGallery($loadpro, array ('image','small_image','thumbnail'), true, false);
答案 3 :(得分:0)
$mediaArray = array(
'thumbnail' => $oscProduct['products_image'],
'small_image' => $oscProduct['products_mediumimage'],
'image' => $oscProduct['products_largeimage'],
);
// Remove unset images, add image to gallery if exists
$importDir = Mage::getBaseDir('media') . DS . 'import/';
foreach ( $mediaArray as $imageType => $fileName ) {
$filePath = $importDir . $fileName;
if ( file_exists($filePath) ) {
try {
$product->addImageToMediaGallery($filePath, $imageType, false);
} catch (Exception $e) {
echo $e->getMessage();
}
} else {
echo "Product does not have an image or the path is incorrect. Path was: {$filePath}<br/>";
}
}
注意: $ imageType不是数组,与对应的数据相同。
编辑:您只需要一个图片,并将其设置为每种类型。使用$ product-&gt; save()保存产品后,尝试使用以下内容,假设您已经设置了图像类型:
$product->setThumbnail($product->getImage());
$product->setSmallImage($product->getImage());
$product->save();