Как импортировать данные о товарах из XML

27.01.2022

Варианты реализации XML-выгрузки

  1. Возможно передавать данные о товарах и их категориях, как в одном общем файле, так и в двух отдельных (рекомендуется): один - для категорий, второй - для товаров
  2. Возможна, как выгрузка только XML-данных, так и XML-данных вместе с изображениями товаров (рекомендуется). XML-файлы могут загружаться, как в ту же папку, что и изображения, так и в другие доступные для загрузки папки
  3. Если планируется онлайн-продажа товаров на сайте, то в XML-данных о товарах должна быть хотя бы одна свойство, которое можно использовать в качестве цены. Могут быть переданы данные и о других свойствах
  4. Данные можно загружать, как вручную, так и автоматически (рекомендуется) через FTP
  5. При использовании FTP рекомендуется использовать шифрование

Если используются два отдельных XML-файла для категорий и товаров

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


<?xml version="1.0" encoding="windows-1251"?>
<Элементы>
  <Элемент ID="12325" Имя="Аксессуары" РодительID="---"/>
  <Элемент ID="12343" Имя="Аккумуляторы" РодительID="12325"/>
  <Элемент ID="12341" Имя="Зеркала" РодительID="12325"/>
  <Элемент ID="12345" Имя="Наклейки" РодительID="12325"/>
  <Элемент ID="12344" Имя="Сигнализации, магнитолы, подсветка и др." РодительID="12325"/>
  <Элемент ID="12326" Имя="Тюнинг" РодительID="12325"/>
  <Элемент ID="12346" Имя="Фильтра" РодительID="12325"/>
  <Элемент ID="12368" Имя="Бензопилы" РодительID="---"/>
...
  <Элемент ID="12333" Имя="Ремни вариатора генератора" РодительID="12330"/>
  <Элемент ID="12335" Имя="Свечи" РодительID="12330"/>
  <Элемент ID="12337" Имя="Удаленное" РодительID="12330"/>
  <Элемент ID="01111" Имя="Удаленное" РодительID="---"/>
  <Элемент ID="12367" Имя="Удаленное" РодительID="01111"/>
</Элементы>


В примере приведены данные о категориях товаров. У каждой из них есть:

  • ID (нечто уникальное, можно латинские буквы, цифры и дефисы)
  • Имя (здесь ограничений нет)
  • ID родительской категории (для категорий верхнего уровня указываем --- - три дефиса)
  • Могут быть и другие свойства

Названия тегов и их свойств Вы можете использовать любые. Главное следовать следущим правилам:

  • XML-заголовок может быть любым, но корректным.
  • Какая бы кодировка ни была указана в XML-заголовке, 1С всегда использует windows-1251. Если в Вашем случае используется другая кодировка, об этом нужно сообщить отдельно
  • В именах тегов и их свойств допускаются буквы (в том числе кириллица), цифры, подчёркивания. Первый символ должен быть буквой. Других ограничений нет.
  • Если через выгрузку нужно удалить с сайта категорию или товар, то для неё/него нужно указать имя Удаленное

<?xml version="1.0" encoding="windows-1251"?>
<Элементы>
  <Элемент ID="00002702" Имя="Автомат сцепления Юпитер" БазоваяЕИ="шт" Категория="12318" АдресФото="DSC03810.JPG" Цена="156" Остаток="37"/>
  <Элемент ID="00003535" Имя="Удаленное" БазоваяЕИ="пара" Категория="12318" АдресФото="DSC03808.JPG" Цена="4190" Остаток="0"/>
  <Элемент ID="00900631" Имя="Амортизатор задний Иж реставрация" БазоваяЕИ="пара" Категория="12318" АдресФото="DSC038082.JPG" Цена="1350" Остаток="1"/>
  <Элемент ID="00004115" Имя="Удаленное" БазоваяЕИ="пара" Категория="12318" АдресФото="DSC038081.JPG" Цена="1578" Остаток="0"/>
  <Элемент ID="00003119" Имя="Барабан задний Юнкер" БазоваяЕИ="шт" Категория="12318" АдресФото="IMG_20160325_162751.jpg" Цена="1990" Остаток="6"/>
  <Элемент ID="00002159" Имя="Барабан передний в сборе ИЖ" БазоваяЕИ="шт" Категория="12318" АдресФото="DSC03798.JPG" Цена="1950" Остаток="4"/>
  <Элемент ID="00004042" Имя="Барабан сцепления Планета широкий Иж П5-01сб.1-41г.Ижевск" БазоваяЕИ="шт" Категория="12318" АдресФото="20171130_175731.jpg" Цена="1350" Остаток="0"/>
  <Элемент ID="00002315" Имя="Барабан сцепления внутрений Иж Планета" БазоваяЕИ="шт" Категория="12318" АдресФото="DSC03805.JPG" Цена="300" Остаток="0"/>
...
  <Элемент ID="00003578" Имя="Барабан сцепления внутрений Иж Юпитер" БазоваяЕИ="шт" Категория="12318" АдресФото="DSC03806.JPG" Цена="300" Остаток="2"/>
  <Элемент ID="00000016" Имя="Удаленное" БазоваяЕИ="шт" Категория="12318" АдресФото="DSC03859.JPG" Цена="2800" Остаток="0"/>
  <Элемент ID="00000015" Имя="Барабан сцепления ИЖ Юпитер 4 узкий в сборе 1-31" БазоваяЕИ="шт" Категория="12318" АдресФото="DSC03858.JPG" Цена="2800" Остаток="7"/>
</Элементы>


В примере приведены данные о товарах. У каждого из них есть:

  • ID (также нечто уникальное, можно латинские буквы, цифры и дефисы)
  • Имя (здесь тоже ограничений нет)
  • Категория (ID одной из категорий - про них написано в описании примера с категориями)
  • Адрес файла с изображением (желательно просто указывать имя файла - при этом нежелательно дублирование имён нескольких файлов)
  • Цена (в рублях)
  • Могут быть и другие свойства, например, единица измерения, остаток на складе
  • Если организация работает с СДЭК и нужен расчёт стоимости и срок доставки также нужны:
    • вес в килограммах
    • габариты в сантиметрах

Если используется один общий XML-файл для категорий и товаров


<?xml version="1.0" encoding="windows-1251"?>
<Элементы>
  <Элемент ID="00013813" Имя="Автомат сцепления ЗАЗ" БазоваяЕИ="шт" КатегорияID="12318" КатегорияНазвание="Сцепление"/>
  <Элемент ID="00092424" Имя="Удаленное" БазоваяЕИ="пара" КатегорияID="12318" КатегорияНазвание="Газ"/>
  <Элемент ID="00100369" Имя="Амортизатор задний ВАЗ" БазоваяЕИ="пара" КатегорияID="12318" КатегорияНазвание="Тормоз"/>
...
</Элементы>


В этом случае в свойствах товара указывается не только ID категории, но и её название.

Частичный или полный импорт данных

Импортировать можно, как все товары/категории, так и только необходимые. Новые добавятся, уже имеющиеся обновятся (сравнение идёт по ID).

О загрузке файлов

Вам будет предоставлен FTP-доступ к одной из папок на сайте. Желательно использовать шифрование - SFTP или FTPS. Часто бывает, что 1С шифрование не поддерживает. Если так, то можно и обычный FTP, но это не безопасно.

У Вас будет доступ на создание подпапок.

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

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


CMS Zion WebEngine является бесплатной системой. Развивается за счёт рекламы, помощи веб-студии #webZion и других спонсоров.

 

Будем рады, если Вы поддержите нас любой суммой, а также поделитесь идеями на счёт каких-либо улучшений и доработок для CMS...

 

Заранее, большое, спасибо

 

Блог обновлений

Zion WebEngine X8.02.25
  • Доработан плагин для управления AJAX (спасибо #ПроСбычиМечт)
    • Динамическая подгрузка данных стала более настраиваемой и "гладкой"

Zion WebEngine AJAX Плагины

Zion WebEngine X8.02.21
  • Доработан класс для работы с языками:
    • Добавлена возможность использовать многоязычность не только для всего сайта сразу, но и для его отдельных частей
  • Доработан форма и обработчик обратной связи (спасибо Анвизор):
    • Устранены проблемы с использованием многоязычности

Zion Mail Back Zion Multi-Lang Классы Многоязычность/Языки Обработчики Формы

Zion WebEngine X8.02.19
  • Доработан класс для работы с корзиной заказов (спасибо Moto-Retail):
    • Устранена вероятность возникновения заказов с одинаковым номером в течение одно дня

Zion Catalog Классы Корзина для заказов

Zion WebEngine X8.02.15
  • Доработан плагин универсального меню (спасибо Moto-Retail18):
    • Реализована возможность задания особых параметров оформления для пункта меню предшествующего активному
  • Доработан класс для работы с навигацией:
    • Добавлены подсказки по новым условиям, доступным для оформления пунктов меню

Zion WebEngine Классы Меню/Списки/Навигация Плагины Помощники/Мастеры/Инструкции/Подсказки Условия

Zion WebEngine X8.02.14
  • Доработан плагин универсального меню (спасибо Moto-Retail18):
    • Устранены некоторые недочёты, затруднявшие отображение записи, следующей после открытой (например, для ссылки на следующий товар из той же категории, что и открытый в данный момент товар)

Zion WebEngine Меню/Списки/Навигация Плагины

Zion WebEngine X8.02.13
  • Доработана форма обратной связи:
    • Улучшено отображение формы на мобильных устройствах (спасибо Феникс)
    • Реализована возможность интеграции формы с сервисами веб-аналитики
  • Доработан класс для работы с HTML-кодом веб-страниц:
    • В HTML-коде веб-страниц по умолчанию реализован виджет корзины с отображением количества товаров и их суммарной стоимости
  • Доработан класс для работы с навигацией:
    • Устранены некоторые опечатки в подписях к кнопкам для корзины в меню по умолчанию
    • Добавлены новые примеры по использованию доступных возможностей корзины в меню по умолчанию

Zion WebEngine Zion Mail Back HTML-код веб-страницы Классы Корзина для заказов Меню/Списки/Навигация Формы

Zion WebEngine X8.02.05
  • Доработан конвертер валют (спасибо MKV Pro):
    • Реализовано округление результата до любого количества символов после запятой
    • Доработана подсказа по использованию конвертера
  • Доработан элемент "Основной текст":
    • Максимальное количество символов для него увеличено в 2 раза
  • Улучшена поддержка PHP 7.2 и других, схожих по требованиям, версий:
    • Доработан драйвер для работы с древовидными структурами (спасибо Богатый дом)
    • Доработан класс для управления связями между контентными единицами (спасибо Moto-Retail18)
    • Доработан класс для управления связями с категориями контента
    • Доработан плагин универсального меню
    • Доработан класс для управления местом контентных единиц в структуре сайта
    • Доработан класс для управления уведомлениями
    • Доработано меню администратора для Ядра CMS
    • Доработан главный файл гостевого интерфейса
    • Доработан класс импорта данных

Zion WebEngine Zion Catalog PHP Валюты Гостевой интерфейс Драйверы Импорт/Экспорт Категории Классы Контент/Контентные единицы Меню администратора Место в структуре Основной текст Плагины Помощники/Мастеры/Инструкции/Подсказки Уведомления Элементы

Zion WebEngine X8.02.01
  • Доработан класс для работы с базой данных:
    • Добавлены новые функции, упрощающие получением данных
  • Реализован конвертер валют (спасибо MKVPro):
    • Доступно ежедневное и (если нужно) более частое получение данных курсов валют от ЦБ РФ
    • Реализованы подсказки по использовании конвертации, например, цен из любой доступной валюты в RUR
    • Использование команды для вызова конвертора доступно в любом месте

Zion WebEngine Zion Catalog База данных/Таблицы данных Валюты Классы Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine X8.01.29
  • Доработан плагин универсального меню (спасибо Анвизор):
    • Теперь поиск не запускается, если задана пустая строка

Zion WebEngine Меню/Списки/Навигация Плагины Поиск текста

Zion WebEngine X8.01.24
  • Доработана поддержка многоязычности (спасибо Анвизор):
    • Доработан класс для работы с текущими данными:
    • Доработан плагин универсального меню
    • Доработан поиск текста
  • Доработана автоматическая SEO-оптимизация (спасибо VisualMathStart):
    • Устранено дублирование некотрых полей при редактировании SEO-параметров

Zion WebEngine SEO-параметры Классы Меню/Списки/Навигация Многоязычность/Языки Плагины Поиск текста Текущие данные

Zion WebEngine X8.01.22
  • Улучшена поддержка многоязычности (спасибо Анвизор):
    • Переработан комплект поставки
    • Доработана обработка свойств языков
    • Доработаны подсказки по использованию свойств языков

Zion Multi-Lang Многоязычность/Языки Помощники/Мастеры/Инструкции/Подсказки Свойства

Zion WebEngine X8.01.18
  • Доработан класс для работы с многоязычностью:
    • Реализовано отображение контента на выбранном или автоматически определённом языке и скрытие контента на любых других языках (в том числе на отсутствующих в системе)
    • Реализована автоматическая корректировка URL при выборе того или иного языка
      • Адрес корректируется только в том случае, если был выбран язык, который создан в системе
  • Разработка пакета поддержки многоязычности завершена, но может продолжиться после "боевых" испытаний и появления пожеланий
  • Доработан главный файл гостевого интерфейса
    • Оптимизированы различные вычисления
    • Улучшена поддержка многоуровневого ЧПУ
    • Улучшена поддержка многоязычности

Zion WebEngine Zion Multi-Lang Адрес (URL)/ЧПУ/Переадресация Гостевой интерфейс Контент/Контентные единицы Многоязычность/Языки

Zion WebEngine X8.01.17
  • Расширен функционал класса для работы с многоязычностью
    • Реализовано отображение свойств языков
    • Реализована обработка свойств языков, например в меню/списке языков
  • Создан плагин для обработки свойств языков в любом месте
  • Доработан драйвер оболочки
  • Доработан плагин универсального меню
    • Реализована поддержка меню/списков языков
    • Устранены ошибки, препятствующие отображению последних просмотренных записей
  • Доработан помощник по вставке плагина универсального меню
    • Добавлены новые доступные параметры
  • Доработан класс для управления контентом
    • При наличии поддержки многоязычности теперь отображается подсказка по её использованию

Zion WebEngine Zion Multi-Lang Драйверы Классы Контент/Контентные единицы Меню/Списки/Навигация Многоязычность/Языки Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства

Zion WebEngine X8.01.09
  • Доработаны страницы ошибок
  • Доработана инструкция для редактора контента
  • Доработан класс для работы с корзиной заказов в интернет-магазине
  • Доработано создание HTML-кода шаблонов веб-страниц
  • Доработана смена e-mail для системных уведомлений
  • Доработано восстановление пароля зарегистрированных пользователей
  • Доработано создание объявлений
  • Доработана отправка уведомлений из формы обратной связи и из формы заказа обратного звонка
  • Доработана интеграция с RoboKassa
  • Доработана система мониторинга
  • Доработана автоматическая SEO-оптимизация
  • Доработан email-рассыльщик

Zion WebEngine Zion Catalog Zion Mail Back Zion SEO Booster Zion Sender Zion Robokassa Zion Bulletins Board Email-сообщения HTML-код веб-страницы Robokassa Доступы/Пользователи Интернет-магазин Классы Корзина для заказов Мониторинг Объявления Обратная связь/Обратный звонок Помощники/Мастеры/Инструкции/Подсказки Рассылки Редактор контента/WYSIWYG-редактор Страницы ошибок Формы

Zion WebEngine X8.01.08
  • Доработан пакет поддержки многоязычности:
    • Оптимизировано авто определение выбранного языка и языка по умолчанию
    • Дополнены алгоритмы автоматического создания отсутствующих данных
    • Учтены особенности различных языков и кодировок
  • Расширен функционал класса для работы с текущими данными
    • Теперь он может предоставлять данные о выбранном пользователем или автоматически определённом языке

Zion WebEngine Zion Multi-Lang Доступы/Пользователи Классы Кодировки/Наборы символов Многоязычность/Языки Текущие данные

Zion WebEngine X8.01.05
  • Расширен список условий для меню и HTML-кода веб-страниц (спасибо Феникс):
    • В том числе теперь можно использовать разное оформление в зависимости от того, есть ли у указанного раздела подразделы определённого типа

Zion WebEngine HTML-код веб-страницы Меню/Списки/Навигация Типы Условия

Zion WebEngine X7.12.22
  • Устранена вероятность несовместимости новой платформы с мастерами из старой платформы (спасибо Академия Танца)
    • Также исправлена информация об авторских правах для доработанных компонентов
  • Доработано управление ЧПУ (спасибо Звони-Пермь):
    • Учтено отступление сервиса Яндекс.Маркет от общепринятых стандартов формирования списка параметров в GET-запросах
  • Устранены некоторые недочёты в классе для управления SEO-параметрами
  • Устранены недочёты при формировании многоуровневого ЧПУ для страниц, находящихся на верхнем уровне структуры или вне структуры

Zion WebEngine POST/GET-данные SEO-параметры Адрес (URL)/ЧПУ/Переадресация Платформа Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine X7.12.15
  • Создан новый пакет Zion Multi-Lang для управления многоязычными сайтами
    • Поддерживается свободное редактирование неограниченного количества языков
    • Разработка пакета ещё не завершена
  • Доработана отправка служебных заголовков от веб-сервера в веб-браузер

Zion WebEngine Zion Multi-Lang Веб-браузер Веб-сервер/Хостинг Многоязычность/Языки

Zion WebEngine X7.12.14
  • Доработан драйвер для управления классами
    • Добавлены некоторые функции, которые упростят и ускорят дальнейшей развитие CMS
  • Доработан класс для управления SEO-параметрами
    • Учтены некоторые требования поисковиков - так автоматическая SEO-оптимизация будет ещё более качественной
  • Доработан плагин Meta
    • Теперь он полностью совместим с многоуровневым ЧПУ и автоматически подсказывает поисковым системам канонические адреса веб-страниц, в случае изменения этих адресов
  • Доработан поиск текста
    • Теперь можно выбирать, в каких полях осуществлять поиск, а в каких нет

Zion WebEngine Zion SEO Booster SEO-параметры Адрес (URL)/ЧПУ/Переадресация Драйверы Классы Плагины Поиск текста

Zion WebEngine X7.12.11
  • Доработана поддержка многоуровневого ЧПУ:
    • Вместо драйвера, совместимого со старой платформой создан специальный класс, целиком ориентированный на новую платформу
    • Устранены некоторые недоработки из предыдущей версии
    • Добавлены новые функции в класс для управлением местом в структуре
    • Добавлены новые возможности в класс для управления адресом (URL)
    • В классе для управления базой данных учтена поддержка многоуровневого ЧПУ
    • Доработана переадресация на страницу по умолчанию
    • Доработана подстановка свойств в классе для управления контентом
    • Доработано кэширование веб-страниц в классе управления проектом
    • Доработан класс для управления SEO-параметрами
    • В плагине Meta переработана подстановка канонического URL

Zion WebEngine Zion SEO Booster SEO-параметры Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Драйверы Классы Контент/Контентные единицы Кэш/Кеш Место в структуре Платформа Свойства