Импорт товаров из XML в Opencart

В модуле UniXML вы можете настроить импорт и обновление товаров в автоматическом режиме и таким образом синхронизировать товары на сайте с поставщиком или другим сайтом.

Чтобы настроить модуль UniXML на импортирование товаров из XML файла в Opencart необходимо зайти в модуль и в первой вкладке Загрузка в магазин нажать на кнопку Добавить прайс.

Во всплывающем окне вы можете добавить название импорта, комментарий и указать ссылку (либо загрузить файл с ПК). После того как сохранили прайс он уже доступен для последующей настройки.

Окно настройки импорта разделено на 2 области, слева - сами настройки, справа - информация по тегам или предпросмотр XML файла.

Слева будут поля для настройки. Если есть дополнительные настройки полей - слева будет серая шестеренка.

В настройках модуля если элемент тег то пишется просто название тега. Если это атрибут, например <category id=""> (где id это атрибут) то в настройках пишется через собачку, то есть @id. Если есть встроенные атрибуты в теги то пишется так param @name (где param - тег, @name - название атрибута. Пример как заполнять настройки атрибутов)

Нужно понимать что для импорта важен такой параметр как связующий ключ. Это некоторые данные которые будут сходится в XML фиде и на сайте. Например если у нас связующий ключ в XML - offer id, в Opencart - location. В таком случае модуль смотрит в поле location и есть находит значение из offer id то товар обновляется, а если не находит - добавляется как новый. Например у нас в поле location стоит число 43546 а в XML есть такой идентификатор товара - то тот товар у которого в поле location стоит это значение и будет обновлен.

По умолчанию UniXML связывает из XML по идентификатору товара и грузит это значение в поле unixml_link (таблица product). В настройках можно поставить любое поле.

То есть id товара = p.unixml_link. Можно поставить например название товара = pd.name и будет идти связка по названию товара.

Если вам надо связывать не только по ключу а и по ключу + по фиду прописать надо так p.sku,feed. Где приставка ,feed говорит модулю что надо сделать двойную привязку. Если по умолчанию + фид то надо прописать p.unixml_link,feed - то есть будет связь XML: offer id = Opencart: таблица product поле unixml_link

Либо можете в пункте Кастомный код до импорта поставить строку $data['link_feed'] = true; и тогда также будет работать двойная привязка ключ + фид.

В окне настроек импорта также есть внизу ссылка для установки задания на CRON - "Ссылка запуска по CRON". Если ее поставить на сервере на выполнения раз в сутки то ваши товары автоматически будут обновляться раз в сутки.

Внимание! Важный параметр! Возле ссылки "Прочитать структуру xml" слева есть поле ввода со значением 1000. Этот параметр разделяет на пакеты запись в базу. То есть при значении 1000 (по умолчанию) идет разбивка загружаемых/обновляемых товаров по 1000 в одном запросе. Опытным путем было установлено что как раз 1000 оптимальный вариант между скоростью работы и потребляемой оперативной памятью. Если есть возможность можно сделать замеры скорости работы импорта при разных значениях. Этот параметр можно поменять и протестировать. Но как выше указано что 1000 это оптимальный размер пакета данных. И помните что производительность модуля сильно зависит от вашего хостинга и базы.
×
Информация только для UniXML 7.x
Модуль не работает в рф и работать не будет

Разработчик модуля - Прут Николай.

Работаю с opencart c 2010 года.

Создал успешные модули UniXML Pro, MicrodataPro, Easyphoto, Редиректор 301 и другие.

Авторское право на модуль UniXML и информацию на этом сайте принадлежит Прут Николаю.

Копирование материала или использования нелицензионного модуля запрещено.