Magento - Как установить медиа галерею изображений программно? - PullRequest
0 голосов
/ 14 февраля 2012

Я пытаюсь установить новый образ продукта magento, например. che_3.png с:

$visibility = array (
   'thumbnail',
   'small_image',
   'image'
);
$product->addImageToMediaGallery( $file, $visibility, true, false);

Изображение товара перемещено с

временный каталог: / media / tmp / каталог / product / upload / sessionid / original / che_3.png

до

каталог назначения: / media / каталог / product / c / h / che_3.png

Теперь, если я хочу вызвать путь к файлу изображения, сохраненный magento, это неправильно. Объект media_gallery выглядит так:

[media_gallery] => Array
        (
            [images] => Array
                (
                    [0] => Array
                        (
                            [value_id] => 89
                            [file] => /c/h/che_3_2_1.png //che_3.svg is already in here
                            [label] => 
                            [position] => 1
                            [disabled] => 0
                            [label_default] => 
                            [position_default] => 1
                            [disabled_default] => 0
                        )

                    [1] => Array // why this second item?
                        (
                            [value_id] => 88
                            [file] => /c/h/che_3_2.png
                            [label] => 
                            [position] => 1
                            [disabled] => 0
                            [label_default] => 
                            [position_default] => 1
                            [disabled_default] => 0
                        )

                )

            [values] => Array
                (
                )

        )

Как видите, имя файла расширено magento, а также добавлены два элемента в media_gallery.

У меня вопрос, как я могу сбросить продукт или внутренний счетчик, чтобы magento использовал исходный файл как есть?

Заранее спасибо.

1 Ответ

2 голосов
/ 15 февраля 2012

Проблема решена : я дважды сохранил продукт с помощью $product->save(), и кажется, что $product->addImageToMediaGallery() также выполняется дважды.

...