Як імпортувати та експортувати продукти в Magento?

Незалежно від того, чи переміщуєте ви продукти Magento 2 з однієї адмінки в іншу, чи просто переносите деякі дані до каталогів продуктів, вам потрібно знати, як експортувати та імпортувати продукти з Magento.

Це не тільки економить час і зусилля, але й дає змогу масово оновити продукти, а також видаляти й оновлювати їх без необхідності робити це для кожного продукту окремо.

Шукаючи найкращий спосіб імпорту та експорту продуктів у Magento, ви, ймовірно, натрапите на безліч розширень Magento 2. Однак сьогодні ви дізнаєтеся, як використовувати стандартні функції імпорту та експорту Magento.

Що потрібно знати перед імпортом та експортом Magento?

Перш ніж ми почнемо, є кілька речей, які ви повинні знати перед переміщенням продуктів.

Імпорт і експорт Magento працює з типами файлів CSV. Тому ви повинні знати, як працювати з файлами CSV, перш ніж експортувати чи імпортувати продукти.

Який найкращий спосіб це зробити?

Google таблиці безперечно. Головна перевага полягає в тому, що цей інструмент абсолютно безкоштовний і, швидше за все, у вас вже є обліковий запис Google, щоб ним користуватися. Крім того, Google таблиці не порушують форматування CSV, і ви можете завантажити файл без будь-яких змін у значеннях роздільників (delimiters and separators).

Якщо ви розглядали Microsoft Excel або Open Office для цього, ми не рекомендуємо їх, оскільки вам буде важко редагувати роздільники. Ці інструменти порушують форматування.

Структура файлу CSV

Коли ви експортуєте продукти з Magento 2, ви маєте зразок файлу CSV зі стовпцями, які ви можете оновлювати або редагувати. Однак якщо ви просто готуєте файл CSV для імпорту, вам потрібно знати структуру файлу CSV для продуктів.

Колонка Приклад Опис
sku sku_123 Буквено-цифровий ідентифікатор використовується для відстеження запасів продуктів. Може містити до 64 символів із літерами та цифрами, розділеними символами підкреслення або тире. (Ідентифікатори з понад 64 символами призведуть до помилки імпорту)
store_view_code English Визначає представлення магазинів, у яких доступний продукт. Якщо залишити це поле порожнім, продукт буде доступний у магазині за замовчуванням.
attribute_set_code Default Призначає продукту певний набір атрибутів (ви повинні мати набори атрибутів, створені перед імпортом продуктів) на основі типу продукту. Якщо продукт створено, ви не можете змінити набір атрибутів.
product_type simple Визначає тип продукту: simple, grouped, configurable, virtual, bundle.
categories Default Category/Gear,Default Category/Gear/Fitness Equipment Визначає категорію, призначену продукту. Розділіть шляхи категорій символом вертикальної лінії (|).
product_websites base,website2 Вказує на код веб-сайту, на якому продукт є доступним. Щоб налаштувати кілька веб-сайтів, розділяйте їх комою без пробілу.
name Sprite Yoga Strap 6 foot Назва продукту.
description <p>The Sprite Yoga Strap is your untiring partner in demanding stretches, holds and alignment routines. The strap's 100% organic cotton fabric is woven tightly to form a soft, textured yet non-slip surface. The plastic clasp buckle is easily adjustable, lightweight and durable under strain.</p><ul><li>100% soft and durable cotton.<li>Plastic cinch buckle is easy to use.<li>Three natural colors made from phthalate and heavy metal-free dyes.</ul> Визначає опис продукту, що використовується в списку. Може містити валідні HTML теги.
short_description <p>The Sprite Yoga Strap is your untiring partner in demanding stretches, holds and alignment routines.</p> Ідентифікує опис продукту. Включає валідні HTML теги.
weight 1 Вага продукту вказана у форматі 1,00000.
product_online 1 Визначає, чи активовано продукт чи ні.
tax_class_name Taxable Goods Визначає назву класу податків, пов’язаного з цим продуктом.
visibility Catalog, Search Визначає, чи продукт не відображається окремо, та чи відображається у каталозі, у пошуку або каталозі та пошуку разом.
price 14 Ціна продукту.
special_price 10 Ціна зі знижкою на продукти впродовж визначеного періоду.
special_price_from_date 2022-07-19 03:34:20 Дата, коли знижка активована.
special_price_to_date 2022-07-19 03:34:20 Дата, коли знижка деактивована.
url_key sprite-yoga-strap-6-foot Визначає частину URL-адреси яка ідентифікує продукт.
meta_title The Best Sprite Yoga Strap 6 foot Мета-назва продукту, яка відображається в списку результатів пошуку.
meta_keywords sprite yoga, best sprite yoga strap, yoga strap Мета-ключові слова, що відокремлюються комою з пробілом.
meta_description The Sprite Yoga Strap is your untiring partner in demanding stretches, holds and alignment routines. Мета-опис продукту.
base_image https://magefan.com/blog/wp-content/uploads/2022/07/sprite-toga-strap.png Визначає відносний шлях для основного зображення продукту (зображення мають бути завантажені в pub/media/import). Ви також можете використовувати пряму URL-адресу зображення.
base_image_label Base image "Alt Text" Лейбл основного зображення продукту.
small_image https://magefan.com/media/logos/default/logo.png Назва файлу малого зображення, яке використовується на сторінках каталогу зі слешем.
small_image_label Small image "Alt Text" Лейбл, пов’язаний з маленьким зображенням.
thumbnail_image https://magefan.com/media/logos/default/logo.png Назва файлу thumbnail зображення, яке з’являтиметься в галереї сторінки продукту за слешем.
thumbnail_image_label Thumbnail image "Alt Text" Лебл, пов’язаний з thumbnail зображенням.
created_at 2022-07-19 03:34:20 Визначає дату створення продукту. Використовуйте такий формат: yyyy-mm-dd hh-mm-ss.
updated_at 2022-07-19 03:34:20 Визначає дату останнього оновлення продукту. Використовуйте такий формат: yyyy-mm-dd hh-mm-ss.
new_from_date 2022-07-20 03:34:20 Вказує дату, коли продукт починає показуватися як новий продукт. Використовуйте такий формат: yyyy-mm-dd hh-mm-ss.
new_to_date 2022-07-20 03:34:20 Вказує дату, коли продукт більше не буде показуватись як новий продукт. Використовуйте такий формат: yyyy-mm-dd hh-mm-ss.
display_product_options_in Block after Info Column Визначає, де на сторінці продукту мають відображатися параметри продукту, якщо продукт має багато опцій.
map_price 10 Мінімальна рекламована ціна продукту.
msrp_price 10 Рекомендована виробником ціна продукту.
map_enabled 0 Визначає, чи ввімкнено мінімальну рекламовану ціну.
gift_message_available   Визначає, чи відображатиметься повідомлення про подарунок для продукту під час покупки.
custom_design   Список тем, які можна застосувати до сторінки продукту.
custom_design_from 2022-07-30 12:12 Вказує дату застосування вибраної теми до продукту.
custom_design_to 2022-07-30 12:12 Вказує кінцеву дату застосування вибраної теми до продукту.
custom_layout_update   Вказує додатковий код XML, який застосовується до макета сторінки продукту.
page_layout   Визначає макет сторінки продукту: No layout updates, 1 column, 2 columns with left bar, 2 columns with right bar, 3 columns, empty.
product_options_container Block after Info Column Визначає, де відображатимуться параметри продукту на сторінці продукту.
msrp_display_actual_price_type Use config Визначає, де відображати фактичну ціну продукту для користувача: in cart, before order confirmation, on gesture.
country_of_manufacture Ukraine Ідентифікує країну, де продукт було виготовлено.
additional_attributes has_options=1,quantity_and_stock_status=In Stock,required_options=0 Визначає додаткові атрибути, створені для продукту (кастомні параметри продукту).
qty 100 Кількість продуктів, які наразі є в наявності.
out_of_stock_qty 0 Рівень запасу продуктів, що визначає, коли продукт позначено як відсутній у наявності.
use_config_min_qty 1 Визначає, чи використовувати значення за замовчуванням із налаштувань.
is_qty_decimal 0 Визначає, чи має атрибут qty десяткове значення. Якщо ви задасте 1 це означатиме, що кількість може бути десятковою.
allow_backorders 0 Визначає, чи дозволяє ваш магазин попередні замовлення (backorders). Задайте 1, якщо ви дозволяєте попередні замовлення.
use_config_backorders 1 Визначає, чи використовувати значення за замовчуванням із налаштувань.
min_cart_qty 1 Визначає мінімальну кількість продукту, яку можна придбати в одному замовленні.
use_config_min_sale_qty 0 Визначає, чи використовувати значення за замовчуванням із налаштувань.
max_cart_qty 0 Визначає максимальну кількість продукту, яку можна придбати в одному замовленні.
use_config_max_sale_qty 1 Визначає, чи використовувати значення за замовчуванням із налаштувань.
is_in_stock 1 Визначає, чи є продукт у наявності.
notify_on_stock_below 1 Визначає кількість продуктів, для яких ініціюється повідомлення про відсутність у наявності.
use_config_notify_stock_qty 1 Визначає, чи використовувати значення за замовчуванням із налаштувань.
manage_stock 0 Визначає, чи контроль запасів використовується для керування продуктом. Задайте 1, щоб контролювати кількість запасів продукту.
use_config_manage_stock 1 Визначає, чи використовувати значення за замовчуванням із налаштувань.
use_config_qty_increments 1 Визначає, чи використовувати збільшення кількості продукту з налаштувань магазину.
qty_increments 0 Визначає, чи продається продукт із збільшенням кількості (quantity increments).
use_config_enable_qty_inc 1 Визначає налаштування за замовчуванням для увімкнення збільшення кількості (quantity increments).
enable_qty_increments 0 Визначає, чи ввімкнено збільшення кількості для продукту.
is_decimal_divided 0 Визначає, чи можна доставляти частину продукту окремо.
website_id 1 Визначає певний веб-сайт, де продукт доступний. Якщо залишите поле порожнім, він буде доступний на всіх веб-сайтах.
related_skus 24-WG087,24-WG086 Список SKU пов’язаних продуктів, розділених комами.
related_position 1, 2, 3, 4 Визначає позицію SKU, вказаних як "Пов'язані продукти".
crosssell_skus 24-WG087,24-WG086 Список SKU перехресних продуктів, розділених комами.
crosssell_position 1, 2, 3, 4 Визначає позицію SKU, вказаних як "Перехресні продукти".
upsell_skus 24-WG087,24-WG086 Список артикулів up-sell продуктів, розділених комами.
upsell_position 1, 2, 3, 4 Визначає позицію SKU, вказаних як "Up-sells".
additional_images https://magefan.com/media/logos/default/logo.png Назви файлів усіх додаткових зображень, пов’язаних із продуктом.
additional_image_labels Additional image "Alt Text" Лейбли додаткових зображень, пов’язаних із продуктом.
custom_options name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=,option_title=Gold|name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=,option_title=Silver|name=Custom Yoga Option,type=drop_down,required=0,price=10.0000,price_type=fixed,sku=yoga3sku,option_title=Platinum Визначає значення та властивості, призначені кожному кастомному параметру.


Тепер, коли ви знаєте, які стовпці міститиме зразок файлу CSV і що означає кожен із них, ви можете перейти до імпорту та експорту Magento.

Як експортувати продукти в Magento 2?

Щоб експортувати продукти в Magento 2: 

1. Підіть у System > Data Transfer > Export.

2. Виберть Product у полі Entity Type та CSV — у Export File Format

Export products in Magento 2

3. Відфільтруйте атрибути продукту, щоб експортувати лише ті, які вам дійсно потрібні, і натисніть Continue.

Filter Product Attributes

Ви отримаєте повідомлення про те, що імпорт заплановано, і після запуску cron продукти буде експортовано. Тому переконайтеся, що ваші крони налаштовано правильно.

Magento Export Products

Як імпортувати продукти в Magento 2?

Імпортувати продукт Magento трохи складніше, ніж експортувати, тому що вам потрібно імпортувати зображення продуктів окремо. Але ми все пояснимо.

Просто виконайте ці кроки, щоб імпортувати продукти в Magento 2:

1. Підіть у System > Data Transfer > Import та виберіть Product у полі Entity Type. 

Import Product in Magento 2

Примітка: ви можете завантажити зразок файлу прямо на цьому кроці, щоб переконатися, що ваш файл CSV відповідає зразку. Крім того, переконайтеся, що розмір імпортованого файлу не перевищує обмеження в 2 МБ, і завантажте зображення в pub/media/import, якщо ви хочете вказати шлях до зображень у файлі CSV.

2. Налаштуйте Import Behaviour

  • Виберіть поведінку імпорту у відповідному розділі: Add/Update, Replace, Delete.
  • Виберіть Validation Strategy, щоб визначити, що станеться, якщо під час імпорту виникнуть будь-які помилки.
  • Задайте Allowed Errors Count, щоб визначити, скільки помилок може статися до скасування імпорту.
  • Прийміть значення за замовчуванням для коми в полях Field separator та Field separator.
  • Поставте галочку в полі Fields Enclosure, якщо ви хочете включити будь-які спеціальні символи, що знаходяться в даних.

Magento Import Behaviour

3. Визначте Import File

Тут вам потрібно завантажити CSV файл і ввести відносний шлях до сервера, де зберігаються завантажені зображення, у полі Images File Directory.

File to Import

Заповнивши всі необхідні поля, натисніть Check Data у верхньому правому куті та дочекайтеся завершення процесу.

Magento Import Validation

Якщо ваш CSV файл провалідовано, натисніть Import та імпортуйте продукти в Magento 2. Ви можете відстежувати імпорт у System > Data Transfer > Import History.

Magento Import History

Функції імпорту та експорту Magento більш ніж достатньо для виконання базових завдань редагування або оновлення, коли ви працюєте з продуктами між різними екземплярами Magento.

Однак, якщо ви хочете представити свої продукти ширшій аудиторії та завантажити їх до директорій продуктів або маркетплейси, вам потрібно ознайомитися з найкращими розширеннями Magento 2 Product Feed.