+7 495 008 8452
  • Загрузка
Выберите ваш цвет
Есть вопросы, которые вы не смогли решить по нашим публикациям самостоятельно? Ждем ваше обращение в нашей службе техподдержки!

XML-файлы являются универсальным способом выдачи и получения данных. Такой способ обмена информацией есть у подавляющего большинства систем хранения информации. Модуль "Универсальный импорт" позволяет импортировать данные из XML-файлов практически любой структуры.

Перед чтением данной статьи рекомендуем ознакомиться с общей для всех форматов инструкцией по импорту: "Общие настройки профиля".

Примечание: Подвидом XML-файлов являются YML-файлы. Это формат Яндекс.Маркета, часто используемый для обмена информацией о товарах различными площадками. Для него в нашем модуле импорта предусмотрен отдельный профиль, который упрощает настройку импорта из YML. Если ваш файл в самом начале содержит узел yml_catalog, значит это YML-файл. В данном случае вам не нужно следовать инструкциям данной статьи. При создании профиля просто выберите пункт "YML", укажите путь к файлу и следуйте далее по вкладкам настройки профиля. 

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

Создайте новый профиль, введите название профиля и выберите из списка формат "XML".

profile_format.png

Источник данных может быть двух типов: файл или ссылка. При выборе варианта "Файл", вам необходимо будет указать путь к файлу на вашем сервере (через диалоговое окно выбора файла вы сможете сразу его загрузить на сервер с вашего компьютера). При выборе ссылки, вы должны указать путь к файлу на стороннем сервере. Данная ссылка должна быть доступна для публичного скачивания.

Обратите внимание на поле "Кодировка". Вам необходимо проверить, какая кодировка у импортируемого файла и указать её в данном поле. Как правило варианта два: UTF-8, либо CP1251.

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

Настройка профиля

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

profile_level.png

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

Во-первых, нужно определиться с уровнем. На скриншоте показан пример XML-файла. В нём есть корневой узел - doct. Внутри него расположен узел product, внутри которого целый ряд узлов: product_id, code и т.д. 

file_nodes.jpg

На следующем изображении цифрами помечены уровни вложенности узлов. Уровень - это НЕ отступ от левого края. В XML-файле вообще может не быть ни переносов строк, ни отступов - все данные могут храниться одним сплошным текстом.  Уровень - это степень вложенности. В нашем примере узел doct находится на 1-ом уровне, product на 2-ом, product_id, code, pack и др. на 3-м, а amount, weight на 4-ом (они находятся внутри pack). Выберите нужный вам уровень и укажите в поле "Уровень импортируемых узлов".

Подобрать уровень можно двумя способами. Во-первых, посмотреть сам файл. Если в файле отсутствуют пробелы и переносы строк (т.е. весь текст идёт слитно), то можно открыть данный файл с помощью веб-бразуера и браузер отобразит файл в удобном для просмотра иерархическом виде, как у нас на скриншотах (Chrome, Opera, Firefox точно содержат такую функцию). Вторым способом является просто перебор уровней. Введите уровень 1 и посмотрите, какие пункты появятся в списке "Имя импортируемых узлов". Если там не те узлы, введите цифру 2 и т.д.
file_levels.jpg

После выбора уровня у вас обновится список "Имя импортируемых узлов". Выберите нужный вам узел. После этого ниже появятся данные выбранного узла, которые можно связать с полями инфоблока.

Обратите также внимание на поле "Режим хранения привязки полей". В данном списке есть два варианта: по порядку следования узлов и по именам узлов. Выбор данных режимов зависит от структуры XML-файла. В приведённом выше примере каждый параметр находится в узлах с уникальным именем. Для такого файла можно выбрать режим "по именам узлов". Но часто встречаются XML-файлы, где разные параметры находятся в узлах с одинаковым именем (вроде param). Чтобы их отличить, модуль запомнит, в каком порядке стоят данные узлы и при импорте будет ориентироваться на этот порядок. Для таких случаев необходимо указать режим "по порядку следования узлов".

Здесь необходимо отметить промежуточный вариант, когда в узле есть подузлы с одинаковым именем, но у каждого из них есть свой уникальный атрибут, который отличает один узел от другого. Например, в YML файлах узлы param организованы именно таким образом:

yml_param.jpg

Узлов param может быть несколько для каждого товара. Отличаются они атрибутом name. В данном случае это "Цвет", но может быть и "Размер" и любая другая произвольная характеристика.

file_params.jpg

Для таких случаев (когда есть одинаковые подузлы, но у них есть уникальные атрибуты), можно выбрать режим "по именам узлов" (а не "по порядку следования узлов"). В данном случае у вас в опциях профиля появится дополнительный параметр - "Атрибуты для идентификации полей":

profile_attribs.jpg

В списке может быть несколько пунктов, если подобных узлов с атрибутами будет несколько. Каждый пункт содержит название узла и имя атрибута. Если у узла несколько атрибутов, то пунктов будет несколько. Для каждого узла укажите тот атрибут, который содержит идентификатор узла (т.е. который отличает один узел с таким именем от другого подобного ему узла). Выбор этих пунктов будет влиять на набор полей ниже, в секции "Соответствие данных".

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



Назад в раздел



Часто задаваемые вопросы по модулям экспорта

Видео плейлист по настройке модулей экспорта