Magento - Добавление нескольких изображений с CSV-файлом формы продукта? - PullRequest
8 голосов
/ 15 февраля 2012

Мне нужно отобразить несколько изображений товара на странице сведений, поэтому я добавляю столбец с именем gallery в файл CSV.и добавьте некоторые значения, подобные этому, в поле

/hogan/gray1.jpg,/hogan/gray2.jpg,/hogan/gray3.jpg

Я поместил изображения в файл import/hogan.затем импортируйте CSV-файл.но на странице сведений не отображаются изображения нескольких продуктов. Почему ??

Ответы [ 7 ]

3 голосов
/ 16 февраля 2012

Я не использовал изображения галереи, но я не уверен, что вы действительно этого хотите. Если вы хотите импортировать несколько изображений на странице сведений о продукте, вот что вам нужно сделать с файлом CSV.

1) CSV-импорт в Magento предполагает, что ваши изображения находятся в медиа / импорт. Таким образом, все ссылки в вашем файле CSV должны быть перечислены оттуда. Например, если ваше изображение для импорта:

СМИ / импорт / image1.jpg

тогда ваше изображение должно быть указано в файле CSV как просто /image1.jpg (требуется начальная косая черта).

2) Чтобы добавить «медиа изображения», используйте столбцы: _media_attribute (кажется, по умолчанию 77, проверьте экспорт для подтверждения) _media_image - это имя вашего файла изображения (например, /image1.jpg) _media_lable (обратите внимание, опечатка НЕ ​​опечатка) - это метка изображения _media_position - упорядочивание изображений (например, 1, 2, 3, ...) _media_is_disabled - 1 = отключено, 0 = включено

Введите несколько изображений в несколько строк для одного продукта, например:

 _media_attribute  _media_image  _media_lable  _media_position  _media_is_disabled
 77                /image1.jpg   Image 1 label     1            0
 77                /image2.jpg   Image 2 label     2            0

Если вы хотите назначить любой из них как изображение по умолчанию, маленькое изображение или миниатюру, то вам нужно поместить эти же изображения и метки в соответствующие столбцы для (image, image_label), (small_image, small_image_label), (thumbnail , thumbnail_label) соответственно.

Надеюсь, это полезно.

2 голосов
/ 05 сентября 2012

Вот как это сделать с помощью DataFlow Importer для Magento 1.6.1, полученный от здесь

  1. Таким образом, вы не редактируете основные файлы, делаете копию приложение / код / ​​локальный / Маг / Каталог / Модель / Преобразовать / Адаптер / Product.php в приложение / код / ​​локальное / Маг / Каталог / Модель / Преобразовать / Адаптер /
  2. Редактировать app / code / local / Mage / Catalog / Model / Convert / Adapter / Product.php и добавить после строки 799 следующее:
  if (isset($importData['media_gallery']) && !empty($importData['media_gallery'])) {
        $x = explode(',', $importData['media_gallery']);
        foreach ($x as $file) {
            $imagesToAdd[] = array('file' => trim($file));
        }
        $mediaGalleryBackendModel->addImagesWithDifferentMediaAttributes(
            $product,
            $imagesToAdd, Mage::getBaseDir('media') . DS . 'import',
            false,
            false
        );
    } 

... так что в итоге вы получите:


793         $addedFilesCorrespondence = $mediaGalleryBackendModel->addImagesWithDifferentMediaAttributes(
794             $product,
795             $arrayToMassAdd, Mage::getBaseDir('media') . DS . 'import',
796             false,
797             false
798         );
799 /* http://www.magentocommerce.com/boards/viewthread/224928/P30/#t403196 */
800  if (isset($importData['media_gallery']) && !empty($importData['media_gallery'])) {
801             $x = explode(',', $importData['media_gallery']);
802             foreach ($x as $file) {
803                 $imagesToAdd[] = array('file' => trim($file));
804             }   
805             
806             $mediaGalleryBackendModel->addImagesWithDifferentMediaAttributes(
807                 $product,
808                 $imagesToAdd, Mage::getBaseDir('media') . DS . 'import',
809                 false,
810                 false
811             );
812         }       

Если ваш CSV-файл, добавьте столбец с именем * media_gallery * и поместите другие ваши изображения в / media / import:

media_gallery
-------------
/s/e/second_image.png, /t/h/third_image.png,/f/o/fourth_image.png
1 голос
/ 15 февраля 2012

Не уверен, что это все еще правильно, но согласно этой записи вики Magento похоже, что импорт данных по умолчанию не обрабатывает импорт изображений галереи правильно.

Вы можете запустить SQLсценарий после каждого импорта, как предложено на вики-странице, или вы можете использовать что-то вроде Magmi , которое, насколько я знаю из опыта, правильно обрабатывает изображения галереи ... и быстрее, чем импортер Magento по умолчанию

0 голосов
/ 22 августа 2015

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

sku |изображение |small_image |Миниатюра

MAN-1 |/Man/3.jpg |/Man/3.jpg |/Man/3.jpg

MAN-1 |/Man/2.jpg |/Man/2.jpg |/Man/2.jpg

MAN-1 |/Man/1.jpg |/Man/1.jpg |/Man/1.jpg

И изображение, которое вы поместите в последний ряд, будет отображаться как выбранное в админке и front-end .

0 голосов
/ 15 мая 2015

При добавлении нескольких изображений в CSV-файл формы продукта вам не нужно вносить какие-либо изменения в любой файл, эта функция уже есть в magento, для этого вам нужно использовать «Импорт / Экспорт» в magento admin для загрузки продукта и обновления нескольких изображений,пожалуйста, посмотрите, как мы можем добавить несколько изображений, см. ниже пункт:

1. you need to create csv file for upload products, you will use this

go to admin > system >import/export > export and download csv for using product import.

2. then create you csv like this(Please see attached screen shot) for upload multiple image in one product.

enter image description here

3. go to admin > system >import/export > import check your csv correct or not then import and check you will see in your product all images are add.

if any issue please let me know.

Thanks
Ravi
0 голосов
/ 18 июля 2014

Вот как это сделать с помощью DataFlow Importer для Magento 1.6.1, получил его отсюда

Чтобы не редактировать основные файлы, сделайте копию приложения / code / local / Mage / Catalog/Model/Convert/Adapter/Product.php в app / code / local / Mage / Catalog / Model / Convert / Adapter / Изменить приложение / code / local / Mage / Catalog / Model / Convert / Adapter / Product.php и добавитьпосле строки 799:

это работает для меня. magento 1.7.0.2 спасибо за то, что поделились этим ответом.большое спасибо

0 голосов
/ 02 августа 2012

Не могу комментировать, поэтому пришлось опубликовать решение ...

PCProffit использует расширение импорта для своего решения.Более конкретно этот: http://www.magentocommerce.com/magento-connect/amartinez-customimportexport.html

Начиная с Magento 1.7.0, у меня есть эта проблема.У меня есть два расширения (Groups2Customers и Advanced Custom Options).По сути, проблема в том, что таблица media_gallery не обновляется правильно при импорте товаров.CCBlackburn предоставляет ссылку на SQL, который будет обновлять таблицу галереи (также нельзя добавить 0 к нулю) ...

Magmi прекрасно с этим справится, если вы не используете какие-либо расширения, для которых требуются дополнительные поля.импортирован.Если да, вам нужно будет выполнить SQL после любого импорта или исправить код для импорта.

...