Экспорт / Импорт
Функции экспорта и импорта работают для двух форматов данных SQL и CSV.
![]() |
|---|
| 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). Модуль сам распределит языки без создания дублей.
Безопасная работа с категориями
Модуль умеет привязывать импортируемые товары к уже существующим категориям по их названиям. Однако модуль намеренно НЕ создает несуществующие категории автоматически.
Почему это сделано?
- Защита архитектуры каталога: Малейшая опечатка в CSV-файле (например, "Смартфоны" и "Смортфоны") привела бы к мгновенному созданию дублирующей, "мусорной" категории в корне вашего магазина.
- Отсутствие метаданных: Полноценная категория требует указания родительского раздела, ЧПУ (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): Файлы обрабатываются и сохраняются порциями. Очистка системного кэша магазина (которая является очень ресурсоемкой операцией) происходит только один раз в конце каждого объемного пакета, что делает импорт экстремально быстрым и предотвращает «зависание» сервера.
