Как импортировать данные о товарах из 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.11.13
  • Доработан плагин универсального меню (спасибо Новый стандарт):
    • Устранены недочёты при проверке данных на пустоту

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

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

Zion WebEngine Zion Gallery Административный интерфейс База данных/Таблицы данных Галереи/Слайды Изображение Классы Плагины Эскизы

Zion WebEngine X8.11.10
  • Доработаны классы для управления контентом и изображениями:
    • Расширен функционал для автоматического создания эскизов:
      • Можно выбирать, какую часть изображения сохранить при создании эскиза, если он слишком широкий или слишком высокий
    • В административном интерфейсе теперь под изображениями отображаются их адреса, аналогично тому, как это было сделано ранее для слайдов галерей

Zion WebEngine Административный интерфейс Галереи/Слайды Изображение Классы Контент/Контентные единицы Эскизы

Zion WebEngine X8.11.09
  • Доработан вспомогательный класс для управления изображениями (спасибо Единый Центр Недвидимости):
    • Устранены недочёты при создании эскизов

Zion WebEngine Изображение Классы Эскизы

Zion WebEngine X8.11.08
  • Доработан плагин универсального меню (спасибо Moto-Retail18):
    • Оптимизирован поиск текста:
      • При поиске в одном поле или в нескольких запускаются разные алгоритмы, оптимизированные под разные задачи
    • Устранены некоторые недоработки при обработке условий
  • Доработан класс для управления контентом (спасибо Единый Центр Недвидимости):
    • Устранена вероятность несовместимости с некоторыми компонентами, функционал которых будет расширен в предстоящих обновлениях
  • Доработан класс для управления текущими данными:
    • Улучшена конвертация поисковых запросов в нужную кодировку
  • Доработан класс для управления HTML-кодом веб-страницы:
    • Расширен список доступных условий:
      • В том числе HTML-код можно оформить по-разному в зависимости от того, ввёл ли что-нибудь пользователь в строку поиска

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

Zion WebEngine X8.11.07
  • Доработаны галереи (спасибо Единый Центр Недвидимости):
    • Устранены вероятность некорректного удаления слайда вместе с файлом:
      • Соответствующая кнопка отображается только, если для слайда выбран файл с изображением
      • Обработка удаления запускается только, если соответствующий файл не является папкой (такое возможно)
        • Применимо не только к изображениям, но и к их эскизам
      • При массовом удалении слайдов вместе с файлами также реализована аналогичная защита
    • Улучшены подсказки к свойствам слайдов:
      • Теперь они отображаются не после списка слайдов, а под каждым слайдом

Zion Gallery Галереи/Слайды Изображение Помощники/Мастеры/Инструкции/Подсказки Свойства Файлы/Папки Эскизы

Zion WebEngine X8.11.05
  • Доработан вспомогательный класс для управления изображениями (спасибо Единый Центр Недвидимости):
    • Устранена вероятность создания пустых папок для эскизов в случае, если изображение не было выбрано пользователем:
      • Применимо для элемента "Изображение"
      • Применимо для слайдов в галереях

Zion WebEngine Галереи/Слайды Доступы/Пользователи Изображение Классы Файлы/Папки Элементы Эскизы

Zion WebEngine X8.11.02
  • Доработаны галереи:
    • Расширен список доступных условий:
      • В том числе теперь каждый слайд можно оформить по-разному в зависимости от того:
        • Какой у него ID
        • Заполнено ли указанное поле
        • Имеет ли указанное поле указанное значение
        • Последний ли это слайд
        • Равно ли ID слайда указаннной переменной в куках
        • Есть ли в указанном массиве куков элемент с указанным именем
    • Реализована возможность обработки пользовательских параметров (в том числе отсутствующих в документации), переданных в плагин галереи при обращении к нему
  • Доработана навигация по меню/спискам
    • Устранены неточности в подсказке к условию IS_EXISTS_IN_COOKIE_ARRAY_имямассива_имяэлемента??истина::ложь
      • Теперь оно доступно не только до оформления блока, но и после

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

Zion WebEngine X8.11.01
  • Доработаны галереи:
    • Расширен список доступных условий:
      • В том числе теперь блоки слайдов можно оформить по-разному в зависимости от их порядкового номера:
  • Доработана навигация по меню/спискам
    • Расширена область действия условия IS_HAS_BLOCK_NUMBER_номер??истина::ложь
      • Теперь оно доступно не только до оформления блока, но и после

Zion WebEngine Zion Gallery Галереи/Слайды Меню/Списки/Навигация Условия

Zion WebEngine X8.10.31
  • Доработаны галереи:
    • Реализована возможность использовать порядковый номер слайда при его оформлении в галерее
    • Дополнены подсказки по использованию свойств галерей и слайдов:
      • Добавлены новые описания
      • Устранены опечатки в старых описаниях
    • Расширен список доступных условий:
      • В том числе теперь каждый слайд можно оформить по-разному в зависимости от того:
        • Чётный этот слайд или нечётный
        • Если стоимость всех товаров в корзине меньше указанной суммы
          • Доступно при наличии Zion Catalog
    • Расширена область действия условия IS_PLUGINPARAM_имя_значение??истина::ложь:
      • Теперь оно доступно не только в оформлении слайдов, но и в оформлении начала и конца галереи, а также в случае отсутствия слайдов

Zion Gallery Галереи/Слайды Корзина для заказов Помощники/Мастеры/Инструкции/Подсказки Свойства Условия

Zion WebEngine X8.10.29
  • Доработаны класс для управления навигацией и плагин универсального меню:
    • Расширен список доступных условий:
      • В том числе условие IS_HAS_NUMBER>номер??истина::ложь позволяет задать особое оформление для элемента списка с номером выше указанного значения
    • Расширена область действия некоторых условий:
      • В том числе условие IS_PLUGINPARAM_имя_значение??истина::ложь теперь можно использовать до и после списка, а нетолько при оформлении элементов списка (спасибо Новый стандарт)

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

Zion WebEngine X8.10.26
  • Доработан класс для управления галереями:
    • Реализована возможность удалить сразу все слайды из нужной галереи:
      • Также при наличии доступа к файл-менеджеру можно удалить все слайды вместе с файлами изображений:
        • Если эти файлы используются в других слайдах любых других галерей, то эти слайды также будут удалены автоматически
    • Устранён недочёт при массовом добавление изображений в галерею:
      • При включенной опции "Не дублировать, если уже добавлено" слайды не добавлялись, если соответствующие изображения уже использовались в других галереях
  • Доработаны некоторые JS-скрипты
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Реализован плагин для отображения имени активного или конкретно указанного пользователя

Zion WebEngine Zion Gallery Галереи/Слайды Доступы/Пользователи Классы Плагины Файл-менеджер Файлы/Папки

Zion WebEngine X8.10.24
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Реализована возможность после обработки формы для пользователей запустить дополнительный обработчик

Zion WebEngine Доступы/Пользователи Классы Обработчики Формы для пользователей

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

Zion WebEngine Доступы/Пользователи Классы Файлы/Папки

Zion WebEngine X8.10.19
  • Доработаны классы для управления пользователями и вкладками (спасибо Новый стандарт):
    • Реализована возможность автоматически добавлять необходимые вкладки из совместимых с данной функцией классов при правке пользователей
    • Реализована возможность автоматически добавлять необходимые поля в базу данных из совместимых с данной функцией классов при сохранении пользователей

Zion WebEngine База данных/Таблицы данных Вкладки Доступы/Пользователи Классы

Zion WebEngine X8.10.16
  • Доработан класс для управления пользователями (спасибо Color House):
    • Теперь при входе в административный интерфейс и при восстановлении пароля администратора вместо онлайн-консультанта можно перейти на данный Портал поддержки

Zion WebEngine Административный интерфейс Доступы/Пользователи Классы Онлайн-консультант

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

Zion Multi-Lang Классы Многоязычность/Языки

Zion WebEngine X8.10.11
  • Доработан класс для управления пользователями (спасибо Новый стандарт):
    • Упрощена обработка некоторых свойств в формах для пользователей
  • Доработан элемент "Число":
    • Добавлен новый плагин, позволяющий перед указанным числом добавить необходимое количество нулей

Zion WebEngine Zion Catalog Доступы/Пользователи Классы Плагины Свойства Формы для пользователей Число Элементы

Zion WebEngine X8.10.10
  • Доработан класс для управления файлами и папками (спасибо Новый стандарт):
    • Добавлен новый плагин, который автоматически добавляет к адресу указанного файла временную метку последнего изменения данного файла:
      • Это позволит автоматически очищать кэш для часто изменяемых CSS-, JS- и других файлов
  • Доработан драйвер оболочки:
    • Расширен список символов, доступных для указания в параметрах при обращении к плагинам

Zion WebEngine Драйверы Классы Кэш/Кеш Плагины Файлы/Папки

Zion WebEngine X8.10.09
  • Доработан класс для управления XML-данными (спасибо Moto-Retail-18):
    • При предпросмотре данных для импорта учтено, что этих данных может быть очень много:
      • Устранена вероятность появления ошибки при очень длительной загрузке

Zion Catalog XML/RSS/1С/YML Импорт/Экспорт Классы