Незалежно від того, чи переміщуєте ви продукти 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.
3. Відфільтруйте атрибути продукту, щоб експортувати лише ті, які вам дійсно потрібні, і натисніть Continue.
Ви отримаєте повідомлення про те, що імпорт заплановано, і після запуску cron продукти буде експортовано. Тому переконайтеся, що ваші крони налаштовано правильно.
Як імпортувати продукти в Magento 2?
Імпортувати продукт Magento трохи складніше, ніж експортувати, тому що вам потрібно імпортувати зображення продуктів окремо. Але ми все пояснимо.
Просто виконайте ці кроки, щоб імпортувати продукти в Magento 2:
1. Підіть у System > Data Transfer > Import та виберіть Product у полі Entity Type.
Примітка: ви можете завантажити зразок файлу прямо на цьому кроці, щоб переконатися, що ваш файл CSV відповідає зразку. Крім того, переконайтеся, що розмір імпортованого файлу не перевищує обмеження в 2 МБ, і завантажте зображення в pub/media/import, якщо ви хочете вказати шлях до зображень у файлі CSV.
2. Налаштуйте Import Behaviour.
- Виберіть поведінку імпорту у відповідному розділі: Add/Update, Replace, Delete.
- Виберіть Validation Strategy, щоб визначити, що станеться, якщо під час імпорту виникнуть будь-які помилки.
- Задайте Allowed Errors Count, щоб визначити, скільки помилок може статися до скасування імпорту.
- Прийміть значення за замовчуванням для коми в полях Field separator та Field separator.
- Поставте галочку в полі Fields Enclosure, якщо ви хочете включити будь-які спеціальні символи, що знаходяться в даних.
3. Визначте Import File.
Тут вам потрібно завантажити CSV файл і ввести відносний шлях до сервера, де зберігаються завантажені зображення, у полі Images File Directory.
Заповнивши всі необхідні поля, натисніть Check Data у верхньому правому куті та дочекайтеся завершення процесу.
Якщо ваш CSV файл провалідовано, натисніть Import та імпортуйте продукти в Magento 2. Ви можете відстежувати імпорт у System > Data Transfer > Import History.
Функції імпорту та експорту Magento більш ніж достатньо для виконання базових завдань редагування або оновлення, коли ви працюєте з продуктами між різними екземплярами Magento.
Однак, якщо ви хочете представити свої продукти ширшій аудиторії та завантажити їх до директорій продуктів або маркетплейси, вам потрібно ознайомитися з найкращими розширеннями Magento 2 Product Feed.