0 руб.
Оформить заказ- Статус: Доступен для заказа
Наши контакты
Напишите в удобный мессенджер — ответим по вопросам установки, настройки и работы с модулем.
- Описание
- Инструкция по установке
- Инструкция к модулю
- Отзывов (0)
Универсальный импорт товаров из YML/XML
Автоматическая загрузка и регулярное обновление товаров, категорий, изображений, характеристик, цен и остатков из каталогов поставщиков. Модуль работает по ссылке или с загруженным XML-файлом и поддерживает несколько независимых профилей импорта.
Возможности модуля
Несколько поставщиков
Создавайте отдельный профиль для каждого поставщика. У каждого профиля могут быть собственные категории, правила цены, настройки обновления и расписание запуска.
Источник по URL или из файла
Используйте прямую ссылку на YML/XML-файл поставщика либо загрузите XML-файл с компьютера.
Два режима категорий
- Обычный импорт дерева категорий.
- Загрузка всего каталога внутрь существующей категории.
Поиск существующих товаров
Идентификация товаров выполняется по:
- SKU/vendorCode;
- Model;
- названию;
- ID элемента offer.
Выборочное обновление
Можно разрешить обновление только нужных данных. Например, обновлять цены и остатки, не изменяя подготовленные вручную описания, изображения и мета-теги.
Изображения и характеристики
Модуль скачивает главное и дополнительные изображения, преобразует параметры XML в характеристики и может создавать выбранные параметры как опции типа Select.
Автоматический запуск
Для каждого профиля можно включить cron и установить собственный интервал обновления каталога.
Пакетная обработка
Большой файл не обрабатывается одним длинным запросом. Импорт выполняется небольшими шагами с ограничением количества товаров и времени выполнения.
Какие данные можно обновлять
- Название товара
- Описание
- Model
- SKU или артикул
- EAN или штрихкод
- Цена
- Количество
- Статус наличия
- Производитель
- Главное изображение
- Дополнительные изображения
- Характеристики
- Опции
- Категории
- Мета-теги
- Вес и габариты
- SEO URL
Настройка цены
Итоговая цена рассчитывается по формуле:
| Задача | Коэффициент | Наценка | Результат для цены 1000 |
|---|---|---|---|
| Импорт без изменения цены | 1 | 0 | 1000 |
| Увеличить цену на 20% | 1.2 | 0 | 1200 |
| Увеличить на 20% и добавить 100 | 1.2 | 100 | 1300 |
Работа с отсутствующими товарами
Для товаров, которые импортировались ранее, но отсутствуют в новой версии XML, можно выбрать одно из действий:
- ничего не менять;
- отключить товар;
- установить количество товара равным нулю.
Защита от зависаний и ошибок 502
Импорт выполняется поэтапно:
- XML по ссылке загружается частями;
- категории и товары обрабатываются небольшими пакетами;
- время одного шага ограничено настройками;
- каждый следующий шаг выполняется отдельным запросом;
- параллельная обработка одного задания блокируется;
- для изображений используются отдельные ограничения времени и размера.
Такой подход снижает нагрузку на сервер и риск превышения допустимого времени выполнения PHP при работе с большими каталогами.
Журнал выполнения
В административной панели отображаются:
- статус и текущий этап задания;
- количество обработанных категорий и товаров;
- число добавленных и обновлённых товаров;
- количество пропущенных позиций и ошибок;
- подробный журнал импорта.
Выполняющееся задание можно остановить или продолжить из административной панели.
Инструкция по настройке и работе
1. Общие настройки
Для первого запуска рекомендуется использовать следующие значения:
| Настройка | Рекомендуемое значение | Назначение |
|---|---|---|
| Статус модуля | Включен | Разрешает ручную работу и запуск по cron |
| Размер пакета | 10–20 | Количество категорий или товаров за один шаг |
| Лимит шага | 10–12 секунд | Максимальное время выполнения одного шага |
| Часть загрузки | 4 MiB | Размер части XML, скачиваемой за один запрос |
2. Создание профиля
Нажмите «Добавить профиль» и укажите понятное название, например «Основной поставщик» или «Каталог автозапчастей».
Для каждого поставщика рекомендуется создавать отдельный профиль.
3. Выбор источника
- URL — вставьте прямую ссылку на XML-файл поставщика в поле «URL XML».
-
Загруженный XML-файл — выберите файл с расширением
.xmlна компьютере.
4. Режим категорий
| Режим | Результат |
|---|---|
| Обычный — корни каталога в корень сайта | Категории поставщика создаются в общем каталоге магазина с сохранением вложенности. |
| Вложить весь каталог в заданную категорию | Всё дерево поставщика размещается внутри уже существующей категории сайта. |
ID целевой категории можно посмотреть в адресной строке при редактировании
категории. Например, в адресе с параметром
category_id=303 ID категории равен 303.
5. Идентификация товара
| Способ | Когда использовать |
|---|---|
| SKU/vendorCode | Рекомендуемый вариант, если артикулы товаров уникальны. |
| Model | Используйте, если уникальный код товара хранится в поле Model. |
| Название | Поиск по точному названию. Следует использовать осторожно, так как названия могут повторяться или изменяться. |
| ID offer | При первом импорте создаётся карта «ID offer → ID товара OpenCart», которая используется при следующих запусках. |
6. Язык и магазины
Выберите язык, на котором будут создаваться и обновляться товары.
Для основного магазина в поле «ID магазинов» укажите 0.
Для мультимагазина можно перечислить несколько ID через запятую:
0,1,2.
7. Количество и статус отсутствия
Левое поле в строке «Количество по умолчанию» определяет остаток, если поставщик не передал количество в XML.
Правое поле — ID статуса отсутствия товара. Статусы находятся в разделе Система → Локализация → Состояния на складе.
8. Основные переключатели
- Профиль включён — разрешает работу профиля.
- Запускать по cron — включает автоматический импорт.
- Создавать категории — создаёт отсутствующие категории.
- Создавать товары — создаёт товары, которых ещё нет на сайте.
- Скачивать изображения — загружает фотографии поставщика.
- param → характеристики — создаёт характеристики из параметров XML.
- Генерировать SEO URL — создаёт SEO-адреса товаров и категорий.
9. Преобразование параметров в опции
Чтобы отдельные параметры <param> создавались как
опции типа Select, перечислите их точные названия через запятую в поле
«Параметры → опции».
Пример:
10. Выбор данных для обновления
В блоке «Что обновлять у существующих товаров» отметьте только те данные, которые модулю разрешено изменять.
- Обновление категорий заменяет текущие связи товара с категориями.
- Обновление дополнительных изображений заменяет существующий набор дополнительных фотографий.
- Главное изображение изменяется только после успешной загрузки нового файла.
- Выбор обновляемых полей применяется к существующим товарам. Новые товары создаются со всеми доступными данными из XML.
11. Сохранение и первый запуск
- Нажмите синюю кнопку «Сохранить» в правом верхнем углу.
- Нажмите «Запустить этот профиль».
- Дождитесь завершения ручного импорта.
- Откройте несколько товаров и проверьте результат.
После первого запуска рекомендуется проверить:
- названия и описания;
- цены и остатки;
- категории;
- главные и дополнительные изображения;
- характеристики и опции;
- SEO URL;
- производителей.
12. Автоматический запуск по cron
Установите галочку «Запускать по cron» и задайте интервал в минутах:
| Интервал | Периодичность |
|---|---|
| 60 | Один раз в час |
| 360 | Один раз в 6 часов |
| 720 | Два раза в сутки |
| 1440 | Один раз в сутки |
После сохранения скопируйте «URL для cron» и добавьте его в планировщик заданий на хостинге. Сам cron рекомендуется вызывать каждую минуту:
* * * * * curl -fsS --max-time 40 'https://ваш-сайт.ru/index.php?route=extension/module/universal_yml_import/cron&token=ВАШ_ТОКЕН' >/dev/nullМодуль самостоятельно проверяет расписание профилей. Если задание уже запущено, следующий cron-вызов продолжит его обработку.
13. Удаление профиля
Нажмите красную кнопку «Удалить профиль», подтвердите действие, а затем обязательно нажмите синюю кнопку «Сохранить».
Удаление профиля не удаляет ранее импортированные товары из магазина.
Рекомендации перед первым импортом
- Создайте резервную копию базы данных и изображений.
- Начните с пакета 10–20 товаров.
- Для отсутствующих товаров выберите «Ничего не менять».
- Используйте SKU/vendorCode, если артикулы уникальны.
- Сначала выполните импорт вручную.
- Проверьте созданные и обновлённые товары.
- Только после проверки включайте автоматический запуск по cron.
image. Первый импорт желательно выполнять на тестовой копии
магазина.
-
Загрузите архив
В административной панели откройте Расширения → Установка расширений и загрузите файл
universal_yml_import_v1.2.0.ocmod.zip. -
Обновите модификаторы
Перейдите в раздел Расширения → Модификаторы и нажмите синюю кнопку «Обновить» в правом верхнем углу.
-
Установите модуль
Откройте Расширения → Расширения, выберите тип «Модули», найдите «Универсальный импорт YML/XML» и нажмите кнопку установки.
-
Откройте настройки
Нажмите кнопку редактирования, установите статус «Включен» и сохраните настройки.
Системные требования
| CMS | OpenCart 3.0.3.x или ocStore 3.0.3.x |
|---|---|
| PHP | PHP 7.2 или новее |
| Расширения PHP | cURL, SimpleXML и libxml (как правило установлены на всех шаред хостингах по умолчанию) |
| База данных | MySQL или MariaDB с поддержкой InnoDB |
Инструкция по настройке и работе
1. Общие настройки
Для первого запуска рекомендуется использовать следующие значения:
| Настройка | Рекомендуемое значение | Назначение |
|---|---|---|
| Статус модуля | Включен | Разрешает ручную работу и запуск по cron |
| Размер пакета | 10–20 | Количество категорий или товаров за один шаг |
| Лимит шага | 10–12 секунд | Максимальное время выполнения одного шага |
| Часть загрузки | 4 MiB | Размер части XML, скачиваемой за один запрос |
2. Создание профиля
Нажмите «Добавить профиль» и укажите понятное название, например «Основной поставщик» или «Каталог автозапчастей».
Для каждого поставщика рекомендуется создавать отдельный профиль.
3. Выбор источника
- URL — вставьте прямую ссылку на XML-файл поставщика в поле «URL XML».
-
Загруженный XML-файл — выберите файл с расширением
.xmlна компьютере.
4. Режим категорий
| Режим | Результат |
|---|---|
| Обычный — корни каталога в корень сайта | Категории поставщика создаются в общем каталоге магазина с сохранением вложенности. |
| Вложить весь каталог в заданную категорию | Всё дерево поставщика размещается внутри уже существующей категории сайта. |
ID целевой категории можно посмотреть в адресной строке при редактировании
категории. Например, в адресе с параметром
category_id=303 ID категории равен 303.
5. Идентификация товара
| Способ | Когда использовать |
|---|---|
| SKU/vendorCode | Рекомендуемый вариант, если артикулы товаров уникальны. |
| Model | Используйте, если уникальный код товара хранится в поле Model. |
| Название | Поиск по точному названию. Следует использовать осторожно, так как названия могут повторяться или изменяться. |
| ID offer | При первом импорте создаётся карта «ID offer → ID товара OpenCart», которая используется при следующих запусках. |
6. Язык и магазины
Выберите язык, на котором будут создаваться и обновляться товары.
Для основного магазина в поле «ID магазинов» укажите 0.
Для мультимагазина можно перечислить несколько ID через запятую:
0,1,2.
7. Количество и статус отсутствия
Левое поле в строке «Количество по умолчанию» определяет остаток, если поставщик не передал количество в XML.
Правое поле — ID статуса отсутствия товара. Статусы находятся в разделе Система → Локализация → Состояния на складе.
8. Основные переключатели
- Профиль включён — разрешает работу профиля.
- Запускать по cron — включает автоматический импорт.
- Создавать категории — создаёт отсутствующие категории.
- Создавать товары — создаёт товары, которых ещё нет на сайте.
- Скачивать изображения — загружает фотографии поставщика.
- param → характеристики — создаёт характеристики из параметров XML.
- Генерировать SEO URL — создаёт SEO-адреса товаров и категорий.
9. Преобразование параметров в опции
Чтобы отдельные параметры <param> создавались как
опции типа Select, перечислите их точные названия через запятую в поле
«Параметры → опции».
Пример:
10. Выбор данных для обновления
В блоке «Что обновлять у существующих товаров» отметьте только те данные, которые модулю разрешено изменять.
- Обновление категорий заменяет текущие связи товара с категориями.
- Обновление дополнительных изображений заменяет существующий набор дополнительных фотографий.
- Главное изображение изменяется только после успешной загрузки нового файла.
- Выбор обновляемых полей применяется к существующим товарам. Новые товары создаются со всеми доступными данными из XML.
11. Сохранение и первый запуск
- Нажмите синюю кнопку «Сохранить» в правом верхнем углу.
- Нажмите «Запустить этот профиль».
- Дождитесь завершения ручного импорта.
- Откройте несколько товаров и проверьте результат.
После первого запуска рекомендуется проверить:
- названия и описания;
- цены и остатки;
- категории;
- главные и дополнительные изображения;
- характеристики и опции;
- SEO URL;
- производителей.
12. Автоматический запуск по cron
Установите галочку «Запускать по cron» и задайте интервал в минутах:
| Интервал | Периодичность |
|---|---|
| 60 | Один раз в час |
| 360 | Один раз в 6 часов |
| 720 | Два раза в сутки |
| 1440 | Один раз в сутки |
После сохранения скопируйте «URL для cron» и добавьте его в планировщик заданий на хостинге. Сам cron рекомендуется вызывать каждую минуту:
* * * * * curl -fsS --max-time 40 'https://ваш-сайт.ru/index.php?route=extension/module/universal_yml_import/cron&token=ВАШ_ТОКЕН' >/dev/nullМодуль самостоятельно проверяет расписание профилей. Если задание уже запущено, следующий cron-вызов продолжит его обработку.
13. Удаление профиля
Нажмите красную кнопку «Удалить профиль», подтвердите действие, а затем обязательно нажмите синюю кнопку «Сохранить».
Удаление профиля не удаляет ранее импортированные товары из магазина.
Рекомендации перед первым импортом
- Создайте резервную копию базы данных и изображений.
- Начните с пакета 10–20 товаров.
- Для отсутствующих товаров выберите «Ничего не менять».
- Используйте SKU/vendorCode, если артикулы уникальны.
- Сначала выполните импорт вручную.
- Проверьте созданные и обновлённые товары.
- Только после проверки включайте автоматический запуск по cron.
Нет отзывов об этом товаре.
Нет вопросов о данном товаре, станьте первым и задайте свой вопрос.