Перейти к основному содержимому
Версия: v3.1.0

Экспорт / Импорт

Функции экспорта и импорта работают для двух форматов данных SQL и CSV.

Export / Import Tools
Export / Import Tools

Импорт и Экспорт в формате SQL

Для экспорта и импорта данных в формате SQL используются встроенные утилиты OpenCart, но список таблиц ограничен только теми, которые имеют отношение к Атрибутам, Значениям и их метаданным.

Таблица
attribute_group
attribute_group_description
attribute
attribute_pro
attribute_description
attribute_description_pro
product_attribute
product_attribute_pro
category_attribute
unit
unit_description
attribute_interlink

Импорт и Экспорт в формате CSV

Формат CSV в модуле Attribut&pro оптимизирован для первоначального наполнения и безопасного переноса больших массивов информации между разными сайтами. Также он отлично подходит для массового редактирования атрибутов через табличные процессоры (Excel, Google Sheets).

Ниже описаны ключевые особенности и логика работы этих инструментов.

Экспорт данных

Процесс экспорта максимально упрощен. При запуске экспорта модуль автоматически формирует CSV-файл со структурированными данными.

Важно: Сформированный файл скачивается автоматически и сохраняется в стандартную папку "Загрузки" (Downloads) вашего браузера.

Рекомендуется использовать экспорт как шаблон: если вы хотите массово добавить новые атрибуты или товары, скачайте существующий каталог. Полученный файл послужит вам идеальным шаблоном с правильным набором колонок (_PRODUCT_ID_, _ATTRIBUTE_NAME_ и так далее).

Как работает Импорт

При импорте модуль не просто переносит текст, он корректно воссоздает структуры данных каталога.

Создание недостающих данных «на лету»

Если в загружаемом файле указаны Атрибуты или Группы атрибутов, которых еще нет в вашем магазине, модуль автоматически создаст их. Для этого достаточно, чтобы в файле были заполнены их текстовые названия (attribute_name, group_name).

Если идентификаторы в файле пустые или равны 0, модуль сам присвоит сущностям новые правильные ID в базе данных. Вы можете смело оставлять 0 в колонках ID при добавлении новых записей.

Автоматический маппинг языков

Во время импорта используется автоматический маппинг (определение соответствия) языков на основе их кода (language_code). Это означает, что вы можете выгрузить товар из магазина, где английский язык имеет id=1, и корректно загрузить его в магазин, где английский язык имеет другой идентификатор (например, id=2). Модуль сам распределит языки без создания дублей.

Безопасная работа с категориями

Модуль умеет привязывать импортируемые товары к уже существующим категориям по их названиям. Однако модуль намеренно НЕ создает несуществующие категории автоматически.

Почему это сделано?

  1. Защита архитектуры каталога: Малейшая опечатка в CSV-файле (например, "Смартфоны" и "Смортфоны") привела бы к мгновенному созданию дублирующей, "мусорной" категории в корне вашего магазина.
  2. Отсутствие метаданных: Полноценная категория требует указания родительского раздела, ЧПУ (SEO URL), описания и изображений. Обычная строка CSV не может предоставить сложную иерархическую информацию, необходимую для правильного построения дерева категорий.

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

Логирование и Отладка

Для полного контроля над процессом импорта модуль ведет подробный журнал событий. Все действия записываются в специальный файл лога: attributipro_import_debug.log (находится в стандартном разделе логов OpenCart: Система -> Обслуживание -> Журнал ошибок или в папке system/storage/logs/).

В этом логе вы всегда можете увидеть:

  • DEBUG: Успешное создание новых Атрибутов, Групп атрибутов и Товаров с указанием их новых идентификаторов (например: Created new Attribute Group: Процессор (ID: 7)).
  • WARNING: Предупреждения о некритичных проблемах (например, если категория из файла не найдена в магазине: Warning: Category 'Радиосвязь' not found in database).
  • ERROR / SKIPPED: Ошибки обработки конкретных строк (например, если строка пустая или в ней отсутствуют обязательные поля product_id или language_code).

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

Высокая производительность

Импорт файлов, содержащих тысячи строк, часто вызывает проблемы с ресурсами на серверах. В Attribut&pro процесс импорта глубоко оптимизирован:

  • In-Memory Caching (Кэширование в памяти): Вместо того чтобы постоянно запрашивать данные из базы (например, если в файле идет 100 характеристик для одного и того же смартфона), модуль запоминает найденные товары и атрибуты в оперативной памяти. Это снижает нагрузку на базу данных в десятки раз.
  • Пакетная обработка (Batch Processing): Файлы обрабатываются и сохраняются порциями. Очистка системного кэша магазина (которая является очень ресурсоемкой операцией) происходит только один раз в конце каждого объемного пакета, что делает импорт экстремально быстрым и предотвращает «зависание» сервера.