Как импортировать данные о товарах из 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 X9.05.25
  • Доработан элемент Расписание: (спасибо Школа 118):
    • Стало доступно листание календаря по неделям, в том числе листание на текущую неделю в административном интерфейсе
    • Реализовано автоматическое создание таблиц данных
    • Реализовано созданию временных промежутков доступных для бронирования:
      • В том числе уже сделана возможность автоматического предложения новых даты/времени для следующего после только что добавленного периода:
        • Продолжительность предлагается такая же, но её можно изменить
        • Если продолжительно не менять, можно очень быстро заполнить расписание одинаковыми по продолжительности периодами, следующими друг за другом
    • Реализовано отображение временных промежутков доступных для бронирования
    • Разработка ещё не завершена

Zion Booking Административный интерфейс База данных/Таблицы данных Бронирование/Расписание Дата/Время/TimeMashine Элементы

Zion WebEngine X9.05.24
  • Создан пакет Zion Booking (спасибо Школа 118):
    • Он позволяет осуществлять бронирование различных объектов и назначения встреч на определённый доступный временной промежуток
    • Создан класс для нового элемента контента Расписание:
      • Уже реализовано отображение текущей недели в административном интерфейсе
      • Разработка ещё не завершена

Zion Booking Административный интерфейс Бронирование/Расписание Классы Контент/Контентные единицы Элементы

Zion WebEngine X9.05.23
  • Доработана форма обратной связи (спасибо Школа 118):
    • Учетно, что она может быть использована нетолько для вопросов

Zion Mail Back Обратная связь/Обратный звонок Формы

Zion WebEngine X9.05.21
  • Доработан импорт данных из 1С/XML (спасибо Moto-Retail18):
    • Устранены некоторые недочёты при импорте данных об изображениях
  • Доработан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Школа 118):
    • Более продумано организована конвертация данных для доступа администратора
    • Реализовано отображение отчёта о миграции
    • Переделана обработка эскизов и изображений
    • Для новостей и категорий новостей создаются особые идентификаторы во избежании их дублирования друг с другом и со страницами
    • Реализована конвертация обращений к свойствам и плагинам из старой платформы в новую

Zion WebEngine Zion Import XML/RSS/1С/YML Доступы/Пользователи Изображение Импорт/Экспорт Категории Контент/Контентные единицы Миграция Плагины Платформа Свойства Эскизы

Zion WebEngine X9.05.18
  • Доработана система мониторинга для заказов (спасибо Moto-Retail18):
    • Настройки оформления формы заказа теперь не будут заменяться настройками по умолчанию при обновлении CMS до более свежей версии
  • Доработан класс для управления заказами:
    • Определение номера нового заказа теперь определяется более правильно
    • Скорректирована сортировка заказов при просмотре их списка в административном интерфейсе
  • Доработано меню администратора (спасибо Savory Wine):
    • Скидки по умолчанию теперь создаются до входа в нужный раздел

Zion Catalog Административный интерфейс Классы Корзина для заказов Меню администратора Мониторинг Обновления CMS Скидки/Наценки Формы

Zion WebEngine X9.05.20
  • Создан класс, облегчающий миграцию со старых версий CMS на новые (спасибо Школа 118):
    • Пока налажен переход с версии Zion WebEngine X6.06.15 - в дальнейшем список версий будет расширяться
    • Налажена конвертация опций проекта и данных для доступа администратора
    • Налажен перенос JS-, CSS-, ICO-файлов и содержимого папки upload (с автоматическим созданием подпапок)
    • Налажено автоматическое создание меню страниц, категорий новостей и новостей, а также списка новостей
    • Налажена конвертация содержимого папок bases, content и ini в формат новой платформы
      • Пока это сделано только для навигации, страниц, новостей и их категорий
      • Пока шаблоны нужно создавать автоматически
      • Пока редактируемые поля обрабатываются, как страницы
      • Эскизы и изображения для категорий новостей пока не обрабатываются
      • Пока не учтена ситуация, когда для новости выбрано несколько категорий
    • Пока не налажена адаптация нестандартных и некоторых устаревших компонентов
    • Многие доработки будут сделаны в будущих версиях

Zion WebEngine Zion WebEngine X6.06.15 Что такое CMS Zion WebEngine? База данных/Таблицы данных Доступы/Пользователи Изображение Категории Классы Контент/Контентные единицы Меню/Списки/Навигация Миграция Платформа Файлы/Папки Шаблоны контента Эскизы

Zion WebEngine X9.05.14
  • Доработан класс для управления пользователями (спасибо Единый Центр Недвижимости):
    • Теперь, если нажать на кнопку Обратиться в техподдержку при входе в административный интерфейс и при попытке восстановить пароль, можно сразу же попасть на инструкцию по вопросу Что делать, если забыли логин и/или пароль?

Zion WebEngine Что делать, если забыли логин и/или пароль? Административный интерфейс Доступы/Пользователи Классы Помощники/Мастеры/Инструкции/Подсказки

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

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

Zion WebEngine X9.05.07
  • Доработан импорт из 1С/XML (спасибо Белый и пушистый):
    • Реализована возможность не использовать отдельный файл при импорте данных о категориях товаров:
      • При этом данные берутся из файла с данными о товарах:
        • Становятся доступны дополнительные настройки
    • Имена файлов изображений теперь формируются автоматически из ID товара и расширения оригинального файла:
      • Это решает проблемы с кодировкой при использовании файлов с русскоязычными именами
    • Из данных, которые являются числами (в том числе ценами) теперь автоматически удаляются пробельные символы

Zion Import XML/RSS/1С/YML Изображение Импорт/Экспорт Классы Кодировки/Наборы символов Сайт-каталог Файлы/Папки Число

Zion WebEngine X9.05.02
  • Доработаны класс для управления навигацией и плагин универсального меню (спасибо МТС Пермь):
    • Стало доступно условие, благодаря выполнению или невыполнию которого, можно по-разному оформить элементы списка в зависимости от того, сколько в этом списке записей
    • Дополнен список подсказок по доступным условиям

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

Zion WebEngine X9.05.06
  • Доработаны класс для управления базой данных (спасибо Безопасная Россия):
    • Устранена вероятность возникновения ошибок при массовом удалении записей в случае неполного комплекта поставки

Zion WebEngine Что такое Комплект поставки? База данных/Таблицы данных Классы

Zion WebEngine X9.04.29
  • Доработан класс для управления файлами и папками (спасибо Спортивная школа киокусинкай Пермского края):
    • Устранена ошибка, возникавшая при попытке автоматической очистки кэша для отсутствующего файла
  • Доработан класс для управления импортом данных их CSV/Excel (спасибо МТС Пермь):
    • Теперь при импорте данных без идентификаторов (ID) удаляются все непосредственные подразделы только того же типа, что и импортируемые данные
    • Теперь при импорте данных без названий префикс из названия надраздела не подставляется

Zion WebEngine Zion Import CSV/Excel Импорт/Экспорт Классы Кэш/Кеш Файлы/Папки

Zion WebEngine X9.04.28
  • Доработано класс для управления контентом (спасибо Адель):
    • Устранена вероятность возникновения ошибок при попытке открыть на редактирование несуществующих записей

Zion WebEngine Классы Контент/Контентные единицы

Zion WebEngine X9.04.27
  • Доработано класс для управления базой данных (спасибо Адель):
    • Модальные окна добавления/клонирования, перемещения записи в указанное место и настройки фильтрации теперь открываются мнгновенно
    • Реализовано несколько автоматизаций, делающих добавление/клонирование записей более удобным и быстрым

Zion WebEngine База данных/Таблицы данных Классы Модальное окно Фильтрация

Zion WebEngine X9.04.26
  • Доработано класс для управления базой данных (спасибо Адель):
    • Проверка на корректность указания ID при добавлении новой записи теперь работает более продуманно и эффективно

Zion WebEngine База данных/Таблицы данных Классы

Zion WebEngine X9.04.24
  • Доработано меню администратора для Ядра (спасибо Адель):
    • Скрыты некоторые разделы, которых недолжно быть видно при определённом комплекте поставки
  • Устранена опечатка в помощнике по вставке плагина универсального меню

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

Zion WebEngine X9.04.23
  • Доработан класс для управления проектом (спасибо МТС Пермь):
    • Из виджета на панели инструментов теперь выход производится не в новом, а в том же окне (в той же вкладке)
  • Доработан класс для управления заказами (спасибо Moto-Retail18):
    • Устранены проблемы с формированием номера нового заказа
  • Доработан класс для управления корзиной:
    • Реализована автоматическая очистка кэша CSS-оформления формы заказа

Zion WebEngine Zion Catalog Доступы/Пользователи Классы Корзина для заказов Кэш/Кеш Панель инструментов

Zion WebEngine X9.04.22
  • Доработан класс для управления SMS-уведомлениями (спасибо Балкон Мастер):
    • Устранены недочёты в инструкции по настройке SMS-шлюза
  • Доработан импорт из CSV/Excel (спасибо МТС Пермь):
    • Учтены некоторые новые возможности различных компонентов, которые должны быть учтены при импорте данных
    • Реализована возможность импортировать данные без идентификаторов (ID):
      • При этом перед началом импорта автоматически удаляются все подразделы указанного надраздела (во избежании дублирования при каждом повторном импорте)
    • Реализована возможность импортировать данные без названий:
      • Названия записей при этом автоматически формируются из названия выбранного надраздела и заполненных полей (удобно, например, для импорта списка адресов)
  • Доработан класс для управления скидками (спасибо Moto-Retail18):
    • Устранена вероятность возникновения ошибки при заказе, если ни одна скидка не доступна

Zion WebEngine Zion Catalog Zion Import CSV/Excel SMS Импорт/Экспорт Классы Корзина для заказов Скидки/Наценки

Zion WebEngine X9.04.19
  • Доработан импорт из CSV/Excel (спасибо МТС Пермь):
    • Учтены некоторые новые возможности различных компонентов, которые должны быть учтены при импорте данных

Zion Import CSV/Excel Импорт/Экспорт

Zion WebEngine X9.04.18
  • В интернет-магазине расширены возможности управления автоматическими скидками (спасибо Белый и пушистый):
    • Доработан класс для управления скидками:
      • Учтена вероятность начисления сразу нескольких скидок
    • Доработаен класс для управления скидкой для зарегистрированных пользователей:
      • Расширены возможности отладки
    • Создан класс для управления скидкой при заказе на определённую сумму:
      • Учитывается полная стоимость всех товаров в корзине до начислении всех скидок
      • Не учитывается стоимость доставки и скидка/наценка за выбранный способ оплаты
    • Доработан класс для управления корзиной заказов:
      • Внесены некоторые коррективы
    • Доработан класс для управления заказами:
      • При включении уведомления о заказах в CMS информация о заказах в административном интерфейсе также будет видна с учётом скидок
  • Доработан импорт из 1С/XML:
    • Учтены некоторые новые возможности различных компонентов, которые должны быть учтены при импорте данных

Zion User Control Zion Catalog Zion Import Что такое CMS Zion WebEngine? XML/RSS/1С/YML Административный интерфейс Доступы/Пользователи Импорт/Экспорт Интернет-магазин Классы Корзина для заказов Реакции на заказ Скидки/Наценки Способы доставки/самовывоза Способы оплаты