|
Автор |
Сообщение |
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Код написан на скорую руку:
<?php
require_once 'app/Mage.php';
Mage::app();
Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID);
$importDir = Mage::getBaseDir('media') . DS . 'incoming/';
$productSKU = '3С731-0109';
$product = Mage::getModel('catalog/product')->loadByAttribute('sku',$productSKU);
$fileName = 'box2.jpg';
$filePath = $importDir.$fileName;
// array('image', 'small_image', 'thumbnail')
if (file_exists($filePath)) {
$product->addImageToMediaGallery($filePath, null, false, false);
$attributes = $product->getTypeInstance(true)->getSetAttributes($product);
$attributes['media_gallery']->getBackend()->updateImage($product, $filePath, $data=array('postion'=>4,'label'=>'images'));
$product->save();
}
else echo "Error";
?>
Картинка box2.jpg находится в media/incoming
Метод addImageToMediaGallery() не позволяет указать позицию товара. Если передать в него массив array('image', 'small_image', 'thumbnail'), то фото будет основным фото товара. Иногда это то, что надо, а иногда нужно добавить фото к уже существующим. Для этого нужно указать позицию фото. В данном случае - 4. Но в идеале нужно вычислить к-во фото в галерее товара и сделать +1. |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
chip
Тысячник
Зарегистрирован: 22.04.2010 Сообщения: 2498
|
|
Вернуться к началу |
|
|
|
|
 Главная страница сайта
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|