Ярлык с изображением продукта Magento Set во время импорта - PullRequest
6 голосов
/ 27 августа 2011

Я пытаюсь импортировать изображения продуктов в Magento с помощью

$product->addImageToMediaGallery($imageFile, array('image','thumbnail','small_image'), false, false);

Однако я не могу найти способ установить метку изображения.Я попытался получить галерею с помощью getMediaGallery , вручную установить значение и присвоить его продукту с помощью setMediaGallery , но он выдает исключение.

Кто-нибудьесть опыт с этим?Спасибо!

Ответы [ 3 ]

8 голосов
/ 24 июля 2012

После добавления изображения в медиа галерею через этот код ...

$product->addImageToMediaGallery($imageFile, array('image','thumbnail','small_image'), false, false);

... получите массив media_gallery из продукта, затем извлеките последнее добавляемое изображение, и там вы можете установить метку.

После этого вы можете отправить его обратно в массив изображений media_gallery, вот код:

$gallery = $product->getData('media_gallery');
$lastImage = array_pop($gallery['images']);
$lastImage['label'] = $image_label;
array_push($gallery['images'], $lastImage);
$product->setData('media_gallery', $gallery);
$product->save();
3 голосов
/ 28 августа 2011

Если бы та же задача была несколько дней назад, ее можно решить путем расширения базовых классов (поместив их в «локальный» пул кода)

в Mage/Catalog/Model/Product.php добавить новый параметр $label='' в метод addImageToMediaGallery и передайте его $mediaGalleryAttribute->getBackend()->addImage($this, $file, $mediaAttribute, $move, $exclude, $label);

в Mage/Catalog/Model/Product/Attribute/Backend/Media.php, снова добавьте новый параметр $label='' и измените 'label' => '' на 'label' => $label

HTH

0 голосов
/ 27 августа 2011

Я рекомендую вам попробовать Magmi , вы можете назначать ярлыки, и это очень быстро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...