Вивантаження товарного каталогу в бітрікс в форматі commerceml (xml)

В одному з наших проектів створення сайту на Бітрікс стояло завдання вивантаження товарного каталогу в систему управління не з 1С, а з рідкісною клієнтської програми обліку. Дана програма могла формувати xml-файли будь-якої необхідної структури. Тому для вивантаження в Бітрікс було вирішено формувати файл у форматі CommerceML 2.021, який стандартними засобами Бітрікс імпортується в інфоблок.

У даній статті буде розказано докладно про структуру вивантажується файлу і його вузлах. Опис є неповним, але достатнім практично для будь-якого проекту створення інтернет магазину. Зокрема, будуть розглянуті тільки властивості типу СТРОКА, ЧИСЛО і СПИСОК, а також множинні властивості.

Загальна структура файлу

ДатаФормірованія заповнюється в форматі РРРР-ММ-ДДТЧЧ: мм: СС,
де Г - рік,
М- місяць,
Д - день,
Т - роздільник,
Ч - годинник,
м - хвилини,
З - секунди.

<Ид>573cd49a-339f-4596-9526-dae569251cd4 - ідентифікатор каталогу, генерується довільним чином один раз і далі використовується при кожній вивантаження. Можна використовувати ідентифікатор, наведений в даному прикладі.

В даному вузлі описуються всі властивості товарів.

На початку вузла перераховуються службові властивості:

CML2_ACTIVE - активність товару, службове властивість, приймає значення true або false.

CML2_SORT - числове поле, може застосовуватися для сортування товарів. Наприклад, якщо у товару 1 це поле має значення 30, а у товару 2 - значення 10, то спочатку відобразиться товар 2, потім товар 1.

CML2_ACTIVE_FROM, CML2_ACTIVE_TO - службові поля, як правило не застосовуються для товарів в інтернет-магазині.

CML2_PREVIEW_TEXT - поле для короткого опису товару

CML2_DETAIL_TEXT - поле для докладного опису товару. Більш докладно буде описано в вузлі «ПакетПредложеній».

CML2_PREVIEW_PICTURE - мала фотографія товару, виводиться на сторінках товарних груп.

CML2_PICTURES - додаткові фотографії товару. Основна фотографія товару задається в описі товару, про що буде сказано пізніше.

META_TITLE, META_KEYWORDS, META_DESCRIPTION - властивості для SEO (заголовок вікна браузера, ключові слова і опис).

Всі службові властивості брати як є і поміщати в початок вузла Властивості.

Далі в вузлі описуються призначені для користувача властивості.

Основні типи властивостей:

Властивість типу СТРОКА

<Ид>CML2_ARTICLE - ідентифікатор властивості, довільне унікальне значення.
Символи: цифри, символи латинського алфавіту, нижнє підкреслення, тире. Регістр будь-хто.

<Наименование>Артикул - ім'я властивості, виводиться на картці товару.
Символи: будь-які. Регістр будь-хто.

<Множественное>false - параметр визначає, що властивість може мати кілька значень. Див. В прикладах властивість OFFERS.

<БитриксСортировка>500 - порядок положення властивості в фільтрі (якщо властивість буде відображатися в фільтрі).

<БитриксКод>CML2_ARTICLE - символьний код властивості, дорівнює значенню вузла <ИД>.

<БитриксТипСвойства>S - тип властивості, в даному прикладі це S - рядок.

Всі інші вузли брати як є.

Властивість типу Число

<Ид>SHIRINA_SHKAFA - ідентифікатор властивості, довільне унікальне значення.
Символи: цифри, символи латинського алфавіту, нижнє підкреслення, тире. Регістр будь-хто.

<Наименование>Ширина шафи, мм - ім'я властивості, виводиться на картці товару.
Символи: будь-які. Регістр будь-хто.

<Множественное>false - параметр визначає, що властивість може мати кілька значень.

<БитриксСортировка>500 - порядок положення властивості в фільтрі (якщо властивість буде відображатися в фільтрі).

<БитриксКод>SHIRINA_SHKAFA - символьний код властивості, дорівнює значенню вузла <ИД>.

<БитриксТипСвойства>N - тип властивості, в даному прикладі це N - число.

Всі інші вузли брати як є.

Властивість типу Список

<Ид>CML2_MANUFACTURER - ідентифікатор властивості, довільне унікальне значення.
Символи: цифри, символи латинського алфавіту, нижнє підкреслення, тире. Регістр будь-хто.

<Наименование>Виробник - ім'я властивості, виводиться на картці товару.
Символи: будь-які. Регістр будь-хто.

<Множественное>false - параметр визначає, що властивість може мати кілька значень. Див. В прикладах властивість OFFERS.

<БитриксКод>CML2_MANUFACTURER - символьний код властивості, дорівнює значенню вузла <ИД>.

<БитриксТипСвойства>L - тип властивості, в даному прикладі це L - список.

<БитриксСортировка>500 - порядок положення властивості в фільтрі (якщо властивість буде відображатися в фільтрі).

Всі інші вузли брати як є.

Вузол Варіанти Значний властивості типу Список

Властивість типу СПИСОК містить в собі заздалегідь певні значення у вузлі <ВариантыЗначений>. Кожне значення зберігається в своєму вузлі <Вариант> всередині вузла <ВариантыЗначений>.

<Ид>brand-1 - ідентифікатор значення властивості, довільне унікальне значення.
Символи: цифри, символи латинського алфавіту, нижнє підкреслення, тире. Регістр будь-хто.

<Значение>Inve - саме значення. Символи: будь-які. Регістр будь-хто.

<ПоУмолчанию>false - ознака того, що дане значення буде встановлено за замовчуванням для товару, якщо не було вказано будь-яке інше значення.

<Сортировка>500 - код сортування значення всередині списку. Залишати як є.

Вузол Властивості Елементів

В даному вузлі вказується, чи потрібно якесь властивість показувати в фільтрі товарів.

Вказується ідентифікатор властивості в вузлі <Ид> і в вузлі <УмныйФильтр> прописується true.

В даному вузлі перераховуються властивості товарних груп. В рамках будь-якого серйозного проекту будуть використані як мінімум 3 службових властивості для SEO: UF_TITLE, UF_KEYWORDS, UF_DESCRIPTION, брати як є.

В даному вузлі описується ієрархічна структура товарних груп і самі групи.

Ієрархічність задається наступним чином:

<Ид>cat-2 - ідентифікатор групи, довільне унікальне значення.
Символи: цифри, символи латинського алфавіту, нижнє підкреслення, тире. Регістр будь-хто.

<Наименование>Шафи - назва групи. Довільне значення.

<БитриксСортировка>120 - порядок сортування групи при виведенні на сайті.

<БитриксАктивность>true - ознака того, що група буде відображатися на сайті.

<БитриксКартинка>123_files / Inve_Madrid_70_k.jpg - мале зображення товарної групи. В даному прикладі файл імпорту називається 123.xml, відповідно зображення повинні зберігатися в папці 123_files, яка повинна лежати в одній директорії з файлом 123.xml.

<БитриксКартинкаДетальная>123_files / Inve_Madrid_r_iNVE_70.jpg - велике зображення товарної групи.

У вузлі Значення Властивостей задаються значення властивостей товарних груп. Кожна властивість - в своєму окремому вузлі Значення Властивості.

<Ид>UF_TITLE - ідентифікатор властивості, який був раніше вказаний в описі властивості.

<Значение>Шафи для ванної кімнати - значення властивості.

Вузол Пакет Пропозицій

На початку вузла йде опис налаштувань інформаційного блоку, в який буде розвантажуватися каталог.

<ИдКлассификатора>573cd49a-339f-4596-9526-dae569251cd4 - в даних вузлах вказується ВД, який був заданий на самому початку вузла Класифікатор.

<Наименование>Основний каталог товарів - довільне службове назву каталогу, яке видно тільки в розділі адміністрування сайту.

<БитриксПодписи> - в даному вузлі описуються підписи елементів управління в адміністративній частині.

<ТипыЦен> - в даному вузлі описуються типи цін, що застосовуються на сайті. Кожен тип ціни поміщається в свій окремий вузол Тип Ціни:

  • <Ид>BASE - ідентифікатор ціни, довільне унікальне значення.
    Символи: цифри, символи латинського алфавіту, нижнє підкреслення, тире. Регістр будь-хто.
  • <Наименование>Роздрібна - назва типу ціни.

Після вузла Типи Цін йде вузол Пропозиції.

В даному вузлі описуються безпосередньо самі товари. Кожен товар поміщається в свій окремий вузол Пропозиція.

<Ид>product-3 - ідентифікатор товару, довільне унікальне значення.
Символи: цифри, символи латинського алфавіту, нижнє підкреслення, тире. Регістр будь-хто.

<Наименование>Дзеркало-шафа Runo Ірис 60 зелене - Назва товару. Довільне значення.

<БитриксТеги> - службовий вузол, як правило не використовується, брати як є, залишити порожнім.

<Группы><Ид>cat-2 - прив'язка товару до товарної групи, в вузлі <Ид>cat-2 вказано ідентифікатор раніше створеної групи - cat-2.

<Картинка>123_files / Inve_Madrid_70_k.jpg - основна велика фотографія товару, виводиться на картці товару.

Далі в вузлі Значення Властивостей задаються значення раніше описаних властивостей товару.

Далі після вузла Значення Властивостей слід вузол Ціни. Кожна ціна в своєму окремому вузлі Ціна.

Завершує опис товару вузол Кількість.

<Количество>0 - задається залишок товару на складі.