0

Универсальный импорт XML/YML для OpenCart 3 и ocStore 3

Отзывы:
(0)
  • Статус: Доступен для заказа
1 000 руб.
Дополнительные услуги
Настройка модуля
Помощь с установкой
Покупок: 15
Есть вопросы?

Наши контакты

Напишите в удобный мессенджер — ответим по вопросам установки, настройки и работы с модулем.

Обычно отвечаем в рабочее время
  • Описание
  • Инструкция по установке
  • Инструкция к модулю
  • Отзывов (0)
  • Вопросы (0)
OpenCart 3.0.3.x ocStore 3.0.3.x YML/XML CRON

Универсальный импорт товаров из YML/XML

Автоматическая загрузка и регулярное обновление товаров, категорий, изображений, характеристик, цен и остатков из каталогов поставщиков. Модуль работает по ссылке или с загруженным XML-файлом и поддерживает несколько независимых профилей импорта.

Если поставщик предоставляет каталог в формате YML/XML, вам не придётся вручную создавать и обновлять сотни товаров. Достаточно указать источник, выбрать правила импорта и запустить обработку вручную или по cron.
Один архив для OpenCart и ocStore Модуль автоматически определяет структуру базы данных и учитывает отличия OpenCart 3.0.3.x от ocStore 3.0.3.x. Отдельная версия модуля не требуется.

Возможности модуля

1

Несколько поставщиков

Создавайте отдельный профиль для каждого поставщика. У каждого профиля могут быть собственные категории, правила цены, настройки обновления и расписание запуска.

2

Источник по URL или из файла

Используйте прямую ссылку на YML/XML-файл поставщика либо загрузите XML-файл с компьютера.

3

Два режима категорий

  • Обычный импорт дерева категорий.
  • Загрузка всего каталога внутрь существующей категории.
4

Поиск существующих товаров

Идентификация товаров выполняется по:

  • SKU/vendorCode;
  • Model;
  • названию;
  • ID элемента offer.
5

Выборочное обновление

Можно разрешить обновление только нужных данных. Например, обновлять цены и остатки, не изменяя подготовленные вручную описания, изображения и мета-теги.

6

Изображения и характеристики

Модуль скачивает главное и дополнительные изображения, преобразует параметры XML в характеристики и может создавать выбранные параметры как опции типа Select.

7

Автоматический запуск

Для каждого профиля можно включить cron и установить собственный интервал обновления каталога.

8

Пакетная обработка

Большой файл не обрабатывается одним длинным запросом. Импорт выполняется небольшими шагами с ограничением количества товаров и времени выполнения.

Какие данные можно обновлять

  • Название товара
  • Описание
  • Model
  • SKU или артикул
  • EAN или штрихкод
  • Цена
  • Количество
  • Статус наличия
  • Производитель
  • Главное изображение
  • Дополнительные изображения
  • Характеристики
  • Опции
  • Категории
  • Мета-теги
  • Вес и габариты
  • SEO URL
Пример использования Если описания товаров уже подготовлены вручную, можно включить обновление только цены, количества и статуса наличия. Остальные данные останутся без изменений.

Настройка цены

Итоговая цена рассчитывается по формуле:

Цена из XML × коэффициент + фиксированная наценка
Задача Коэффициент Наценка Результат для цены 1000
Импорт без изменения цены 1 0 1000
Увеличить цену на 20% 1.2 0 1200
Увеличить на 20% и добавить 100 1.2 100 1300

Работа с отсутствующими товарами

Для товаров, которые импортировались ранее, но отсутствуют в новой версии XML, можно выбрать одно из действий:

  • ничего не менять;
  • отключить товар;
  • установить количество товара равным нулю.
Действие применяется только после полного успешного импорта XML-файла. Если источник загрузился не полностью или содержит ошибку, товары не будут массово отключены или обнулены.

Защита от зависаний и ошибок 502

Импорт выполняется поэтапно:

  • XML по ссылке загружается частями;
  • категории и товары обрабатываются небольшими пакетами;
  • время одного шага ограничено настройками;
  • каждый следующий шаг выполняется отдельным запросом;
  • параллельная обработка одного задания блокируется;
  • для изображений используются отдельные ограничения времени и размера.

Такой подход снижает нагрузку на сервер и риск превышения допустимого времени выполнения PHP при работе с большими каталогами.

Журнал выполнения

В административной панели отображаются:

  • статус и текущий этап задания;
  • количество обработанных категорий и товаров;
  • число добавленных и обновлённых товаров;
  • количество пропущенных позиций и ошибок;
  • подробный журнал импорта.

Выполняющееся задание можно остановить или продолжить из административной панели.

Инструкция по настройке и работе

1. Общие настройки

Для первого запуска рекомендуется использовать следующие значения:

Настройка Рекомендуемое значение Назначение
Статус модуля Включен Разрешает ручную работу и запуск по cron
Размер пакета 10–20 Количество категорий или товаров за один шаг
Лимит шага 10–12 секунд Максимальное время выполнения одного шага
Часть загрузки 4 MiB Размер части XML, скачиваемой за один запрос
Если сервер слабый или изображения поставщика загружаются медленно, уменьшите размер пакета до 1–5 товаров.

2. Создание профиля

Нажмите «Добавить профиль» и укажите понятное название, например «Основной поставщик» или «Каталог автозапчастей».

Для каждого поставщика рекомендуется создавать отдельный профиль.

3. Выбор источника

  • URL — вставьте прямую ссылку на XML-файл поставщика в поле «URL XML».
  • Загруженный XML-файл — выберите файл с расширением .xml на компьютере.
Модуль предназначен для каталогов в формате YML/XML с товарной структурой. Обычный XML произвольного формата может потребовать отдельной адаптации.

4. Режим категорий

Режим Результат
Обычный — корни каталога в корень сайта Категории поставщика создаются в общем каталоге магазина с сохранением вложенности.
Вложить весь каталог в заданную категорию Всё дерево поставщика размещается внутри уже существующей категории сайта.

ID целевой категории можно посмотреть в адресной строке при редактировании категории. Например, в адресе с параметром category_id=303 ID категории равен 303.

5. Идентификация товара

Способ Когда использовать
SKU/vendorCode Рекомендуемый вариант, если артикулы товаров уникальны.
Model Используйте, если уникальный код товара хранится в поле Model.
Название Поиск по точному названию. Следует использовать осторожно, так как названия могут повторяться или изменяться.
ID offer При первом импорте создаётся карта «ID offer → ID товара OpenCart», которая используется при следующих запусках.
Не меняйте способ идентификации после начала регулярного импорта без необходимости. Перед запуском убедитесь, что выбранные SKU, Model или названия действительно уникальны.

6. Язык и магазины

Выберите язык, на котором будут создаваться и обновляться товары.

Для основного магазина в поле «ID магазинов» укажите 0. Для мультимагазина можно перечислить несколько ID через запятую: 0,1,2.

7. Количество и статус отсутствия

Левое поле в строке «Количество по умолчанию» определяет остаток, если поставщик не передал количество в XML.

Правое поле — ID статуса отсутствия товара. Статусы находятся в разделе Система → Локализация → Состояния на складе.

8. Основные переключатели

  • Профиль включён — разрешает работу профиля.
  • Запускать по cron — включает автоматический импорт.
  • Создавать категории — создаёт отсутствующие категории.
  • Создавать товары — создаёт товары, которых ещё нет на сайте.
  • Скачивать изображения — загружает фотографии поставщика.
  • param → характеристики — создаёт характеристики из параметров XML.
  • Генерировать SEO URL — создаёт SEO-адреса товаров и категорий.

9. Преобразование параметров в опции

Чтобы отдельные параметры <param> создавались как опции типа Select, перечислите их точные названия через запятую в поле «Параметры → опции».

Пример:

Размер, Цвет, Диаметр

10. Выбор данных для обновления

В блоке «Что обновлять у существующих товаров» отметьте только те данные, которые модулю разрешено изменять.

Для регулярного обновления цен и остатков обычно достаточно оставить включёнными пункты «Цена», «Количество» и «Статус/наличие».
Обратите внимание
  • Обновление категорий заменяет текущие связи товара с категориями.
  • Обновление дополнительных изображений заменяет существующий набор дополнительных фотографий.
  • Главное изображение изменяется только после успешной загрузки нового файла.
  • Выбор обновляемых полей применяется к существующим товарам. Новые товары создаются со всеми доступными данными из XML.

11. Сохранение и первый запуск

  1. Нажмите синюю кнопку «Сохранить» в правом верхнем углу.
  2. Нажмите «Запустить этот профиль».
  3. Дождитесь завершения ручного импорта.
  4. Откройте несколько товаров и проверьте результат.

После первого запуска рекомендуется проверить:

  • названия и описания;
  • цены и остатки;
  • категории;
  • главные и дополнительные изображения;
  • характеристики и опции;
  • 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-вызов продолжит его обработку.

Cron token является секретным ключом. Не публикуйте полный cron URL в открытом доступе.

13. Удаление профиля

Нажмите красную кнопку «Удалить профиль», подтвердите действие, а затем обязательно нажмите синюю кнопку «Сохранить».

Удаление профиля не удаляет ранее импортированные товары из магазина.

Рекомендации перед первым импортом

  • Создайте резервную копию базы данных и изображений.
  • Начните с пакета 10–20 товаров.
  • Для отсутствующих товаров выберите «Ничего не менять».
  • Используйте SKU/vendorCode, если артикулы уникальны.
  • Сначала выполните импорт вручную.
  • Проверьте созданные и обновлённые товары.
  • Только после проверки включайте автоматический запуск по cron.

Теги: импорта XML/YML

Инструкция по установке
Вы можете заказать у нас установку и настройку модуля под ваш фид (ссылку/файл с товарами)
Перед установкой Сделайте резервную копию базы данных и каталога изображений image. Первый импорт желательно выполнять на тестовой копии магазина.
  1. Загрузите архив

    В административной панели откройте Расширения → Установка расширений и загрузите файл universal_yml_import_v1.2.0.ocmod.zip.

  2. Обновите модификаторы

    Перейдите в раздел Расширения → Модификаторы и нажмите синюю кнопку «Обновить» в правом верхнем углу.

  3. Установите модуль

    Откройте Расширения → Расширения, выберите тип «Модули», найдите «Универсальный импорт YML/XML» и нажмите кнопку установки.

  4. Откройте настройки

    Нажмите кнопку редактирования, установите статус «Включен» и сохраните настройки.

Системные требования

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, скачиваемой за один запрос
Если сервер слабый или изображения поставщика загружаются медленно, уменьшите размер пакета до 1–5 товаров.

2. Создание профиля

Нажмите «Добавить профиль» и укажите понятное название, например «Основной поставщик» или «Каталог автозапчастей».

Для каждого поставщика рекомендуется создавать отдельный профиль.

3. Выбор источника

  • URL — вставьте прямую ссылку на XML-файл поставщика в поле «URL XML».
  • Загруженный XML-файл — выберите файл с расширением .xml на компьютере.
Модуль предназначен для каталогов в формате YML/XML с товарной структурой. Обычный XML произвольного формата может потребовать отдельной адаптации.

4. Режим категорий

Режим Результат
Обычный — корни каталога в корень сайта Категории поставщика создаются в общем каталоге магазина с сохранением вложенности.
Вложить весь каталог в заданную категорию Всё дерево поставщика размещается внутри уже существующей категории сайта.

ID целевой категории можно посмотреть в адресной строке при редактировании категории. Например, в адресе с параметром category_id=303 ID категории равен 303.

5. Идентификация товара

Способ Когда использовать
SKU/vendorCode Рекомендуемый вариант, если артикулы товаров уникальны.
Model Используйте, если уникальный код товара хранится в поле Model.
Название Поиск по точному названию. Следует использовать осторожно, так как названия могут повторяться или изменяться.
ID offer При первом импорте создаётся карта «ID offer → ID товара OpenCart», которая используется при следующих запусках.
Не меняйте способ идентификации после начала регулярного импорта без необходимости. Перед запуском убедитесь, что выбранные SKU, Model или названия действительно уникальны.

6. Язык и магазины

Выберите язык, на котором будут создаваться и обновляться товары.

Для основного магазина в поле «ID магазинов» укажите 0. Для мультимагазина можно перечислить несколько ID через запятую: 0,1,2.

7. Количество и статус отсутствия

Левое поле в строке «Количество по умолчанию» определяет остаток, если поставщик не передал количество в XML.

Правое поле — ID статуса отсутствия товара. Статусы находятся в разделе Система → Локализация → Состояния на складе.

8. Основные переключатели

  • Профиль включён — разрешает работу профиля.
  • Запускать по cron — включает автоматический импорт.
  • Создавать категории — создаёт отсутствующие категории.
  • Создавать товары — создаёт товары, которых ещё нет на сайте.
  • Скачивать изображения — загружает фотографии поставщика.
  • param → характеристики — создаёт характеристики из параметров XML.
  • Генерировать SEO URL — создаёт SEO-адреса товаров и категорий.

9. Преобразование параметров в опции

Чтобы отдельные параметры <param> создавались как опции типа Select, перечислите их точные названия через запятую в поле «Параметры → опции».

Пример:

Размер, Цвет, Диаметр

10. Выбор данных для обновления

В блоке «Что обновлять у существующих товаров» отметьте только те данные, которые модулю разрешено изменять.

Для регулярного обновления цен и остатков обычно достаточно оставить включёнными пункты «Цена», «Количество» и «Статус/наличие».
Обратите внимание
  • Обновление категорий заменяет текущие связи товара с категориями.
  • Обновление дополнительных изображений заменяет существующий набор дополнительных фотографий.
  • Главное изображение изменяется только после успешной загрузки нового файла.
  • Выбор обновляемых полей применяется к существующим товарам. Новые товары создаются со всеми доступными данными из XML.

11. Сохранение и первый запуск

  1. Нажмите синюю кнопку «Сохранить» в правом верхнем углу.
  2. Нажмите «Запустить этот профиль».
  3. Дождитесь завершения ручного импорта.
  4. Откройте несколько товаров и проверьте результат.

После первого запуска рекомендуется проверить:

  • названия и описания;
  • цены и остатки;
  • категории;
  • главные и дополнительные изображения;
  • характеристики и опции;
  • 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-вызов продолжит его обработку.

Cron token является секретным ключом. Не публикуйте полный cron URL в открытом доступе.

13. Удаление профиля

Нажмите красную кнопку «Удалить профиль», подтвердите действие, а затем обязательно нажмите синюю кнопку «Сохранить».

Удаление профиля не удаляет ранее импортированные товары из магазина.

Рекомендации перед первым импортом

  • Создайте резервную копию базы данных и изображений.
  • Начните с пакета 10–20 товаров.
  • Для отсутствующих товаров выберите «Ничего не менять».
  • Используйте SKU/vendorCode, если артикулы уникальны.
  • Сначала выполните импорт вручную.
  • Проверьте созданные и обновлённые товары.
  • Только после проверки включайте автоматический запуск по cron.
Отзывов (0)

Нет отзывов об этом товаре.

Вопросы (0)

Нет вопросов о данном товаре, станьте первым и задайте свой вопрос.