Настройки импорта произвольных XML-файлов
Дополнительные возможности окна «Поле импорта»
Приложение WinShop предоставляет контент-менеджерам интернет-магазинов возможность:
из прайс-листов поставщиков, предоставляемых в формате XML-файлов произвольной структуры, размещенных как в сети интернет, так и на локальном компьютере.
XML (от английского eXtensible Markup Language) — расширяемый язык разметки.
XML разрабатывался как язык удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком.
Язык называется расширяемым, так как он позволять создавать разметку в соответствии с потребностями пользователей.
Открыть для просмотра или редактирования файл с расширением .xml можно с помощью обычного текстового редактора или интернет-браузера.
Содержание XML-документа оформляется наборами тегов и их атрибутов. Сочетание простой разметки, удобство восприятия человеком или программами, а также поддержка Юникод-кодировки привело к широкому использованию данного формата.
Есть три термина, используемые для описания структуры и содержания XML-документов, это:
<?xml version="1.0" encoding="UTF-8"?><address>
<name>
<title>Mrs.</title>
<first-name>Mary</first-name>
<last-name>McGoon</last-name>
</name>
<street>1401 Main Street</street>
<city state="NC">Anytown</city>
<postal-code>34829</postal-code>
<empty-element /></address>
Элемент <address> содержит вложенные элементы <name>, <street>,<city> и <postal-code>.
Элемент <name> содержит вложенные элементы <title>, <first-name> и<last-name>.
Соответственно, элементы <address>, <name>,<street>, <city>, <postal-code>, <title>,<first-name> и <last-name> формируют структуру XML-файла рассмотренного в данном примере.
Пояснения:
<?xml version="1.0" encoding="UTF-8"?> — указание на то, что перед нами XML-файл;<address> — начальный (открывающий) тег элемента address;</address> — конечный (закрывающий) тег элемента address;<title>Mrs.</title> — Mrs. — это содержимое (значение) элемента <title>;<city state="NC">Anytown</city> — state="NC" — это атрибут и значение атрибута элемента <city>;<empty-element /> — пример пустого элемента.Используя функцию «Импорт товаров» вы можете настроить ручной или автоматический импорт необходимых данных о товарах и/или разделах каталога интернет-магазина из XML-файла.



При клике на кнопку «Далее», если в качестве файла импорта импорта указан xml-файл, вы перейдете к окну «Настройка xml разметки для "..." импорта». Здесь и нужно настроить соответствия, при помощи которых из древовидной структуры xml-файла будет получена таблица. Эта таблица будет использована для последующей загрузки информации о товарах в приложение WinShop.

WinShop автоматически считает структуру XML-файла и сформирует ее в левой части окна «Ветки товаров (разделов)». Интерфейс «Ветки товаров (разделов)» раскрывает дерево элементов и связанных с ними атрибутов для импортируемого XML-файла.
В правой части окна «Поля товаров (разделов)» необходимо создать те поля, в которые будут импортироваться содержимое элементов и атрибутов.
Переходим к настройке импорта данных о товарах и XML-файла.
В окне «Ветки товаров (разделов)» отмечаем галочками базовые ветки xml-файла. Базовая ветка — это ветка товара и/или раздела, которая содержит внутри себя все данные товара, и количество этих веток в xml-файле будет равно количеству импортируемых товаров. Т.е. одна базовая ветка в xml-файле создаст одну строку в таблице импорта.
Как правило, вам нужно определить и отметить только одну ветку как базовую.
Например, если мы хотим импортировать данные из XML-файла следующей структуры:
<offers>
<item id="128" group_id="16408">
<main_fields>
<item_code>128</item_code>
<__manufacturer_code>art-multi-10</__manufacturer_code>
<name>Мультиварка PANASONIC SR-TMH10</name>
<headline>Мультиварка PANASONIC SR-TMH10</headline>
<abstract><STRONG>Компактная мультиварка с функциями варки, приготовления на пару, тушения и выпечки.</STRONG> Таймер отсрочки до 13 часов. Возможность длительного, до 12 часов, тушения позволит не только приготовить традиционную или необычную еду, но и справиться с любым жестким мясом.</abstract>
<info><P><STRONG>Характеристики</STRONG><BR>Объем, л 2.5<BR>Тип управления Электронное<BR>Потребляемая мощность, Вт 490<BR>Таймер 13 ч.<BR>Отложенный старт Есть<BR>Автоподогрев Есть<BR>Ускоренное приготовление Есть<BR>Дисплей Светодиодный (LED)<BR><STRONG>Режимы работы</STRONG><BR>Выпечка Есть<BR>Приготовление на пару Есть<BR>Тушение Есть<BR>Суп Есть<BR>Каша Есть<BR>Рис Есть<BR><STRONG>Размеры и вес</STRONG><BR>Ширина, см 25.5<BR>Высота, см 24.5<BR>Глубина, см 24.8<BR>Вес, кг 2.4</P></info>
<currency_id>BYN</currency_id>
<price>270.2</price>
<__wholesale_price>100</__wholesale_price>
<__purchase_price>99</__purchase_price>
<order_delay>0</order_delay>
<__quantity>50</__quantity>
<image>PANASONIC_SR-TMH10.jpeg</image>
<seo.title>Мультиварка PANASONIC SR-TMH10 купить в Минске</seo.title>
<seo.description>Мультиварка PANASONIC SR-TMH10 купить в Минске — название магазина</seo.description>
<seo.keywords>Мультиварка PANASONIC SR-TMH10</seo.keywords>
</main_fields>
</item></offers>
в качестве базовой ветки необходимо выбрать ветку <item>.

Для каждой базовой ветки в окне «Поля товаров (разделов)» необходимо настроить набор полей, каждое из которых предназначено для получения значения одной характеристики товара. Одно такое поле создаст один столбец в таблице импорта.
Вы можете: Добавить новое поле; Отредактировать выделенное; и/или Удалить выделенные поля при помощи кнопок выше окна или из контекстного меню.

Поле импорта задается в виде текстовой формулы с определенным синтаксисом (описан ниже), для его настройки служит окно «Поле импорта». Здесь вы можете настроить поле, используя графический интерфейс или вводя формулу в поле «Формула».

В подавляющем большинстве случаев достаточно вызвать выпадающий список (дерево) в поле «Формула», выбрать нужный атрибут или ветку, в котором(ой) находится значение характеристики, и нажать кнопку «ОК».
Дерево в поле «Формула» формируется исходя из веток или элементов, входящих в базовую ветку.

На скриншоте представленном выше, показано как мы сопоставили содержимое ветки XML-файла <item_code> со столбцом id.
Шаги 1 и 2 необходимо повторить для всех свойств товаров, который мы хотим загрузить в WinShop из импортируемого XML-файла.
Допустим, что на шагах 1 и 2 мы сделали сопоставление для 4-х полей:
Далее нам необходимо указать, как названия столбцов будут связаны со свойствами карточки товара, существующими в приложении WinShop. Например, Столбец «Price» будет соответствовать свойству цена.

Далее нажимаем на кнопку «Импортировать».

При наличии ошибок или конфликтов при импорте данных приложение выдаст соответствующие ошибки. Их необходимо исправить.

В данном примере мы настроили сопоставление только 4-х полей. Для реального использования вы можете настроить сопоставление для всех свойств карточки товара и заданных значений групповых полей. Указанные настройки сохраняться для выполнения последующих обновлений.
Обратите внимание!
Вы можете сохранить настройки импорта для XML-файлов предоставляемых определенным поставщиком и использовать их в режиме ручного или автоматического, по расписанию, обновления данных.
При импорте характеристик товаров, поля для этих характеристик должны быть определены в карточке товара или в групповых полях.
Обработав информацию о товарах в приложении WinShop, используя модуль «Экспорт данных» вы можете управлять структурой каталога, товарами, их ценами и характеристиками для интернет-магазинов созданных на любой CMS: 1С-Битрикс, CS-Cart, Drupal, HostCMS, ImageCMS, Joomla!, Magento, MODX, NetCat, OpenCart, PHPShop, PrestaShop, Shop-Script, UMI.CMS, WordPress, OcStore, VirtueMart, JoomShopping, eCommerce, WooCommerce, InSales, Digistr, Recommerce.

Для каждой ветки на пути к значению характеристики вы можете настроить один или несколько фильтров.
Рассмотрим настройку фильтров на нескольким примерах.
<row status="1">
<field>13623</field>
<field>Стиральная машина Indesit WISN 82</field>
<field>Стиральная машина Indesit WISN 82</field>
<field>526</field></row>
В данном случае все вложенные характеристики расположены в ветках с одинаковым именем «field», с определенной последовательностью. Для структур такого типа следует использовать индексный фильтр, в результате поля будут выглядеть следующим образом.
<row status="1">
<field name="item_code">13623</field>
<field name="name">Стиральная машина Indesit WISN 82</field>
<field name="headline">Стиральная машина Indesit WISN 82</field>
<field name="price">526</field></row>
В данном случае все вложенные характеристики расположены в ветках с одинаковым именем "field", но, в отличие от предыдущего примера, идентифицировать их можно по значению атрибута "name". Для структур такого типа следует использовать фильтр по значению. В результате поля будут выглядеть следующим образом.

«Атрибут» — значение атрибута; доступен и выбран, если в поле формула выбран атрибут (начинается с символа "@").
«Значение» — значение ветки; доступен и выбран по умолчанию, если в поле формула выбрана ветка;
«Текст» — возвращает текст указанной ветки, включая текст вложенных в нее веток.
Например, для структуры:
<info>Характеристики:Количество оборотов:
<field></field><value>800</value><field>Класс энергопотребления:</field> <value>A</value>
</info>
результат будет: "Характеристики: Количество оборотов: 800 Класс энергопотребления: A", а не "Характеристики: ".
«Список» — для списка указанных веток вернет значения в виде списка, пригодное для импорта, в списковые групповые поля;
Например, для структуры:
<row>
<options>
<option>Блокировка</option>
<option>Предварительное полоскание</option>
<option>Ручная стирка</option>
</options></row>
и формулы "options/option#list", результат будет: "Блокировка|Предварительное полоскание|Ручная стирка".
«Постоянное» — при существовании указанной ветки или атрибута, любое его значение будет заменено на указанное пользователем постоянное значение.
Смотрите также:
Получить консультацию по настройке или высказать свои предложения по развитию приложения WinShop вы можете по электронной почте support@beseller.by или номерам телефонов: + 375 17 301-02-22, +375 29 145-77-45, + 375 29 851-00-51.