В одному з наших проектів створення сайту на Бітрікс стояло завдання вивантаження товарного каталогу в систему управління не з 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Количество> - задається залишок товару на складі.