Как импортировать данные о товарах из 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.05.21
  • Доработан класс для управления связями между записями:
    • Повышена совместимость с PHP 7.2.1

Zion WebEngine PHP Классы Связи

Zion WebEngine X8.05.19
  • Доработан класс для управления куки-массивами:
    • Повышена совместимость с PHP 7.2.1

Zion WebEngine PHP Вкладки Куки

Zion WebEngine X8.05.18
  • Улучшена совместимость с PHP 7.2.1:
    • Доработан плагин галереи (спасибо Polarus)
    • Доработан плагин универсального меню (спасибо Единый Центр Недвижимости)
    • Доработан класс для управления категориями

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

Zion WebEngine X8.05.17
  • Доработан класс для управления email-сообщениями:
    • Переработан алгоритм вывода уведомлений об ошибках
  • Доработан класс для управления навигацией:
    • Переработаны многие меню/списки по умолчанию, связанные с заказами в интернет-магазине
  • Завершено тестирование использования различных способов доставки и оплаты:
    • Доработаны классы для управления корзиной и для управления способами доставки

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

Zion WebEngine X8.05.16
  • Доработан класс для управления email-сообщениями (спасибо Moto-Retail18):
    • В случае, если по какой-либо причине сообщение через SMTP не удалось отправить с первой попытки, попытка повторяется:
      • Пауза перед каждой следующей попыткой увеличивается (полезно для проблем, которые устраняются автоматически, но не моментально)
      • После десятой неудачной попытки SMTP-отправки выводится уведомление с предложением связаться другим способом (полезно, для проблем, которые не устраняются автоматически):
        • В зависимости от того, есть ли в комплекте поставки онлайн-консультант, и включен ли он, могут выводиться разные предложения (например, написать в чат)
        • Также дополнительно производится попытка оправить сообщение через php-функцию mail
  • Доработан класс для управления корзиной заказов:
    • Улучшена форма заказа
    • Подсчёт стоимости заказа лучше учитывает стоимость доставки
  • Доработан класс для управления способами доставки:
    • Доработано несколько имеющихся и создано несколько новых функций
  • Доработан класс для управления модулем расчёта стоимости и срока доставки через СДЭК:
    • Устранены некоторые недочёты
    • Испытания и разработка продолжаются
  • Доработан класс для управления навигацией:
    • Внесены коррективы в некоторые меню по умолчанию, связанные с оформлением заказа в интернет-магазин

Zion WebEngine Zion Catalog Zion Mail Back Zion xDelivery Email-сообщения PHP SMTP/PHP-mail Интернет-магазин Классы Корзина для заказов Меню/Списки/Навигация Настраиваемые модули Онлайн-консультант СДЭК Способы доставки/самовывоза Уведомления Формы

Zion WebEngine X8.05.15
  • Доработан класс для управления способами оплаты:
    • Устранена вероятность раскрытия конфиденциальных данных при неумелом формировании списка способов оплаты
    • Реализована возможность отключения временно ненужных способов оплаты (вместо их удаления)
  • Доработан класс для управления модулем оплаты через Robokassa:
    • Устранены опечатки в инструкции
  • Доработан класс для управления базой данных:
    • Устранена вероятность несохранения некоторых типов данных
  • Доработан плагин универсального меню:
    • Реализована возможность отображать список только доступных способов доставки и отплаты (отключенные выводиться не будут)
    • Реализован новый функционал в списке способов доставки по умолчанию
  • Создан новый пакет Zion ExpressDelivery:
    • Начата разработка набора компонентов для расчёта стоимости и сроков, а также оформления доставки из интернет-магазина в режиме on-line
    • В комплект поставки включён нативный класс для расчёта стоимости и сроков доставки от СДЭК
    • Создан класс для управления доставкой через СДЭК
      • Реализована возможность автоматически корректировать структуру базы данных при необходимости
      • Реализованы правка и сохранение параметров:
        • Тариф и режим доставки
        • Отсрочка в днях
        • Индекс отправителя
        • Вес и габариты товаров по умолчанию
        • Данные авторизации
      • Создана краткая инструкция
      • Ведутся испытания в боевом режиме
  • Доработан класс для управления способами доставки:
    • Устранена вероятность раскрытия конфиденциальных данных при неумелом формировании списка способов доставки
    • Дополнен список способов доставки по умолчанию
    • Реализована возможность подключать и настраивать модули различных систем доставки
    • Реализована возможность отключения временно ненужных способов доставки (вместо их удаления)
  • Доработан класс для управления вкладками:
    • Добавлены некоторые особые возможности для управления модулями систем доставки
  • Доработан драйвер для управления классами:
    • Теперь при отсутствии запрашиваемого класса работа системы не останавливается.
    • Уведомление по-прежнему выводится, но в другом формате
  • Доработан класс для управления куки-массивами:
    • Расширен функционал
  • Доработан класс для управления корзиной заказов:
    • Форма заказа теперь динамически реагирует на данные покупателя и показывает данные о стоимости и сроке доставки

Zion WebEngine Zion Catalog Zion xDelivery Zion Robokassa Robokassa База данных/Таблицы данных Вес и габариты Вкладки Драйверы Интернет-магазин Классы Корзина для заказов Куки Меню/Списки/Навигация Настраиваемые модули Плагины Помощники/Мастеры/Инструкции/Подсказки СДЭК Способы доставки/самовывоза Способы оплаты Уведомления Формы

Zion WebEngine X8.05.14
  • Завершён перевод пакета Zion Robokassa на новую платформу:
    • Доработана графическая составляющая пакета
    • Улучшен редактор параметров
    • Создана инструкция по заданию параметров
    • Реализованы новые плагины и обработчики
    • Устранены все архаизмы от старой платформы
  • Доработан класс для управления навигацией:
    • Устранены недочёты в меню товаров в заказе по умолчанию
  • Доработан класс для управления способами доставки:
    • Расширен функционал
  • Доработан класс для управления корзиной заказов:
    • Реализована подключение модулей оплату тогда, когда это необходимо
  • Доработан класс для управления способами оплаты:
    • Скорректирован список записей, доступных по умолчанию

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

Zion WebEngine X8.05.13
  • Доработан класс для управления контентом:
    • Внедрены некоторые удобства при правке контента
  • Доработано меню администратора для сайта-каталога и интернет-магазина:
    • Способы доставки и оплаты по умолчанию теперь создаются до входа в соответствующие разделы
  • Доработано управление способами оплаты:
    • Реализована возможность подключать и настраивать модули различных платёжных систем
  • Доработан класс для управления вкладками:
    • Добавлены некоторые особые возможности для управления модулями платёжных систем
  • Начат перевод пакета Zion Robokassa на новую платформу:
    • Создан модуль для платёжной системы Robokassa
      • Реализовано задание параметров
      • Реализована инструкция по настройке
      • Реализована автоматическая корректировка структуры базы данных
      • Разработка ещё не завершена

Zion WebEngine Zion Catalog Zion Robokassa Robokassa База данных/Таблицы данных Вкладки Интернет-магазин Классы Контент/Контентные единицы Меню администратора Настраиваемые модули Платформа Помощники/Мастеры/Инструкции/Подсказки Сайт-каталог Способы доставки/самовывоза Способы оплаты

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

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

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

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

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

Zion WebEngine Zion Catalog Драйверы Классы Кодировки/Наборы символов Корзина для заказов Куки Меню/Списки/Навигация Меню администратора Плагины Способы доставки/самовывоза Формы

Zion WebEngine X8.05.05
  • Доработаны классы для управления контентом и навигацией:
    • В комплект поставки включены заготовки для реализации сравнения в двух режимах:
      • Отображение всех характеристик и отображение только отличающихся характеристик
    • В комплект поставки включены заготовки для email-сообщений о заказах в интернет-магазине:
      • На e-mail в том числе будет приходить:
        • Список заказанных товаров с ценами, количеством и итоговой суммой
        • Выбранные способы доставки и оплаты
        • Контактные данные клиента
        • Комментарий к заказу
  • Доработан плагин универсального меню:
    • Устранены некоторые недочёты при замене параметров, которые не были чётко заданы при вызове меню
  • Доработан класс для управления корзиной:
    • Доработана форма оформления заказа
  • Доработан класс для управления куки-массивами:
    • Реализовано сохранение всех POST-данных в куки

Zion WebEngine Zion Catalog Email-сообщения POST/GET-данные Интернет-магазин Классы Контент/Контентные единицы Корзина для заказов Куки Меню/Списки/Навигация Плагины Способы доставки/самовывоза Способы оплаты Сравнение Формы

Zion WebEngine X8.05.04
  • Доработан класс для управления контентом:
    • Реализована возможность при сравнении отображать только те характеристики, значения которых отличаются у товаров, участвующих в сравнении:
      • Характеристики с одинаковыми значениями скрываются:
        • Опционально

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

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

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

Zion WebEngine X8.04.28
  • Доработан обработчик заказа обратного звонка (спасибо Теплодом):
    • Учтена некорректная обработка некоторых служебных заголовков в Microsoft Office Outlook:
      • Email-сообщения могли помечаться как "нежелательная почта":
        • Пометить письмо как "не спам" было невозможно, так как данный почтовый клиент не распознаёт некоторые стандартные служебные заголовки

Zion Mail Back Email-сообщения Корзина для заказов Обработчики

Zion WebEngine X8.04.27

Zion WebEngine Zion Gallery PHP Галереи/Слайды Классы Контент/Контентные единицы Плагины Связи

Zion WebEngine X8.04.26
  • Доработан главный файл административного интерфейса:
    • Реализовано принудительное отключении XSS-защиты из-за ложных срабатываний в браузерах на движке Chromium
  • Доработана система мониторинга:
    • Расширен список доступных версий PHP:
      • Рекомендуется версия 7.2 и выше
      • Поддержка версии ниже, чем 5.4 не гарантируется
      • Версии ниже, чем 5.5 больше не поддерживаются разработчиками PHP и могут иметь уязвимости. Используйте их на свой страх и риск и только если у вас есть код, который не работает с более новыми версиями
  • Повышена совместимость с PHP 7.2.1
    • Доработан драйвер базы данных для старой платформы (спасибо Бургес)
    • Доработан класс для управления древовидными структурами (спасибо ЦентрСпецЗапчасть и ДиагностикаПромСервис)
    • Выпущено специальное обновление для пакета KCAPTCHA
      • Данный пакет далее развиваться не будет. Обновление выпущено для старых сайтов, которые переходят на новую версию PHP

Zion WebEngine KCAPTCHA Zion Edition Chromium PHP XSS Административный интерфейс База данных/Таблицы данных Веб-браузер Драйверы Классы Мониторинг Обновления CMS Платформа

Zion WebEngine X8.04.25
  • Доработана графическая составляющая Zion Catalog
  • Доработан плагин универсального меню:
    • Теперь прямо в оформлении меню можно использовать значения любых параметров, которые были переданы в плагин:
      • Также доступно использование своих "пользовательских" параметров - тех, которые отсутствуют в спецификации
    • Новый функционал позволяет отображать записи из указанных куки-массивов:
      • Может быть полезно, например, для организации сравнения товаров, для отобраежения "избранного", "закладок", списка "пожеланий" и т.п.
    • В комплект поставки добавлено несколько меню с рабочим примером реализации сравнения товаров:
  • Доработан класс для управления куки-массивами:
    • Реализовано получение списка всех имён в указанном куки-массиве:
      • Может быть полезно, например, для использования в параметре include плагина универсального меню
    • Реализовано получение имени первого элемента указанного куки-массива:
      • Может быть полезно, например, для использования в параметре factor плагина универсального меню при сравнении товаров
  • Доработан класс для управления контентом:
    • В комплекте поставки теперь есть страница с рабочим примером реализации сравнения товаров:

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

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

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

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

Zion WebEngine Zion Catalog HTML-код веб-страницы Интернет-магазин Классы Контент/Контентные единицы Меню/Списки/Навигация Плагины Условия Число Шаблоны контента Элементы