Розмітка однакова для всіх форматів, різниться адреса: у таблиці це літера чи номер стовпця, в XML — імʼя тега, у JSON — номер колонки розгорнутої таблиці. Elbuz сам знаходить рядок заголовків Excel, роздільник CSV і теги YML-фіду.
Коли це знадобиться:
- Постачальник дає YML-фід — адреси підбираються автоматично, імена тегів вписувати не треба.
- XML із власними назвами вузлів — тег товару й теги полів вписуєте руками, AI підказує структуру.
- У CSV замість заголовків незрозумілі символи — справа в кодуванні файлу, а не в розмітці.
- Прайс у JSON — файл розгортається в таблицю, адреси задаються номерами колонок.
З чого почати: оберіть свій формат.
Який у вас формат
Логіка розмітки одна для всіх форматів, а от що саме писати в адресу — залежить від того, що надіслав постачальник.
- Книга ExcelАдреса — літера або номер стовпця; програма сама шукає рядок заголовків
- CSV, TXT або TSVАдреса — номер стовпця; окремо важать роздільник і кодування файлу
- XML або YMLАдреса — імʼя тега, атрибути в квадратних дужках; плюс чотири гілки структури фіду
- JSONАвтопідбору немає зовсім: файл розгортається в таблицю, адреси задаються руками
Які розширення й архіви приймає програма і як вона впізнає фід із чужим розширенням — Які файли підходять.
Де це і хто має доступ
- Меню
- Довідники → Обробка прайс-листів → Список прайс-листів
- Адреси колонок
- картка джерела → секція «Колонки»
- Структура XML
- картка XML-джерела → секція «Структура XML»
- Роздільник CSV
- картка джерела → секція «Параметри джерела» → «Розділювач колонок»
- Право доступу
- вікно «Список прайс-листів» у «Правах груп»
Що писати в адресу для книги Excel
Адреса — літера стовпця або його номер. Колонки й приклади значень програма бере з превʼю аркуша, тому в майстрі ви бачите те саме, що й у файлі.
Рядок заголовків шукається як рядок із найбільшою кількістю збігів зі збереженими іменами колонок; якщо не знайшовся — беруть рядок перед першим рядком даних. Службовий рядок нумерації, який малює сам Excel, пропускається. Буває, що імʼя аркуша потрапляє в розмітку як «колонка», — такі рядки програма відкидає, звіряючи їх із назвами аркушів.
Ще одна тонкість, і вона рятує від хибного висновку. Приклади значень у майстрі підбираються за текстом заголовка, і лише якщо такого заголовка в рядку немає — за номером стовпця. Тобто в майстрі ви можете бачити правильні приклади навіть тоді, коли постачальник змістив стовпці.
Сама ж адреса — це літера або номер, і імпорт читає її буквально: переставив постачальник стовпці — адреси треба поправити. Помітити це програма допоможе: після вдалого завантаження вона запамʼятовує заголовки колонок, а наступного разу звіряє з ними новий файл. Як це виглядає — у сценарії «Постачальник вставив колонки на початок файлу».
Як розмітити CSV, TXT і TSV
Адреса — номер або літера стовпця; нумерація йде з одиниці по першому рядку файлу. Дві речі, які вирішують долю такого прайсу, лежать поза розміткою.
Перше — роздільник. Він береться з налаштувань джерела, а якщо не заданий, програма визначає його сама по перших пʼятнадцяти рядках. Табуляцію можна написати як \t. Друге — кодування: якщо в прайсі не позначено, що файл у UTF-8, вміст перекодовується з windows-1251. Коли в майстрі замість заголовків видно «Ð¦ÐµÐ½Ð°», річ саме в кодуванні, а не в розмітці.
Як розмітити XML і YML-фід
Спершу переконайтеся, що вам потрібен саме прайс-лист. XML-файл можна завантажити двома різними способами, і вони ведуть у різні місця. Прайс-лист — це асортимент постачальника: його ціни порівнюються з вашими, товари зіставляються з каталогом, зверху лягає націнка. Імпорт каталогу з XML/YML — це коли фід описує ваш власний асортимент і має лягти в картки напряму, без зіставлень і націнок.
Тут адреса — імʼя тега, а не літера. Атрибут вузла пишеться у квадратних дужках: [id], [available]. Автопідбір звіряє імена тегів зі словником точно, слово в слово. Вписувати таку адресу можна і в клітинці сітки полів картки, і в панелі «Налаштувати колонку» майстра — для XML-джерела перевірка формату там не застосовується.
Складена адреса у фіді працює інакше, ніж у таблиці. Кілька тегів через кому XML-фід склеює — і для ціни теж, тобто правило «береться перше непорожнє» тут не діє; для поля-ціни зі склеєного рядка потім лишаються самі цифри. Виняток той самий, що й у таблиці: значення тегів для «Кількість» додаються.
Склеюються теги так само, як колонки таблиці: впритул, а роздільник задається текстом у фігурних дужках. А от діапазон 7-9 і перелік через вертикальну риску 11|12 у фіді не працюють: адреса там — імʼя тега, дефіс трапляється в самих іменах (offer-name), а вертикальна риска в XPath уже означає обʼєднання вибірок.
Кілька відомих фідів розмічаються однаково, бо теги в них стандартні. Для YML (той самий формат, у якому віддають каталоги більшість майданчиків і CMS) адреси підбираються автоматично — вписувати імена тегів руками не потрібно.
Для Google Merchant теги свої, але теж фіксовані: g:id, title, g:price, g:availability, g:brand, g:mpn, link, g:image_link — їх вписують у поля-приймачі як звичайні адреси.
Якщо ж постачальник надіслав XML із власними назвами вузлів — а так буває частіше, ніж хочеться, — автопідбір не спрацює, і адреси доведеться проставити руками. Це нормальний робочий випадок, а не збій: подивіться сам файл, знайдіть тег товару й теги полів, впишіть їх імена.
Прикладів значень для XML у майстрі немає — замість них у рядках стоїть «—». Це не збій розбору: превʼю для фіда просто не будується, і орієнтуватися доводиться на самі імена тегів.
Крім колонок, для XML задаються чотири гілки структури — окрема секція «Структура XML» у картці: «тег товару», «тег категорії», «тег списку атрибутів», «тег списку фото». Автовизначення заповнює тільки порожні гілки, ваше вже задане не перезаписує. Головна з них — тег товару: без нього фід не розбереться взагалі, і заповнюють його практично завжди.
1
Поле «тег товару»2
Кнопка «Зіставити автоматично»3
Перемикач «Брати курс валют із файлу»- Поле «тег товару» задає назву XML-тегу, що відповідає товару у фіді постачальника.
- «Зіставити автоматично» пропонує AI зіставити теги фіду з полями системи.
- Перемикач «Брати курс валют із файлу» вмикає перерахунок цін за курсами з блоку currencies фіду.
Для XML у картці є ще й розбір структури фіда з AI: кнопка «Зіставити автоматично» в цій самій секції, під нею — «Знайдені теги» чипами, таблиця «Поле системи ← Тег» з кнопкою «Додати рядок», кнопка «Застосувати зіставлення» і фолд «Зразок вузла товару». Для JSON цього блока немає.
Там-таки живе прапорець «Брати курс валют із файлу (тег currencies)». Підказка пояснює його дослівно: «Якщо ввімкнено, ціни перераховуються за курсами з блоку currencies файлу. Якщо вимкнено — використовуються курси, задані в колонках прайсу або в довіднику валют.»
Дві перевірки, які зупиняють імпорт у решти форматів, для XML не виконуються зовсім: фід піде в роботу і з порожньою розміткою, а повідомлення про незаповнені адреси ви не побачите. Тож для XML «імпорт запустився» ще не означає «розмітка правильна» — дивіться на кількість завантажених товарів і на самі товари.
Як розмітити JSON
Формат підтримується, файл завантажується — але автопідбору для нього немає на жодному з трьох рівнів: ні під час розбору файлу, ні кнопкою, ні автоналаштуванням джерела. Розмітка тут повністю ручна.
Щоб було зрозуміло, що писати в адресу: програма розгортає JSON у таблицю. Вона бере масив товарів — за замовчуванням products, або той, що ви вкажете в полі «тег товару», — перший запис дає назви колонок, решта стають рядками, а вкладені структури розплющуються в окремі колонки. Адреса для JSON — це номер колонки в цій розгорнутій таблиці.
Якщо колонок багато, простіше попросити постачальника про XML або CSV.
Сценарії
Постачальник дає YML-фід
Підключіть фід як звичайне джерело й запустіть імпорт. Що вийде: адреси тегів підберуться автоматично, лишається перевірити тег товару в секції «Структура XML» і кількість завантажених товарів.
Постачальник дає фід Google Merchant
Впишіть у поля-приймачі фіксовані теги Merchant — їх список у розділі про XML. Що вийде: фід читається так само, як YML, і розмітка не зміниться з наступним файлом.
XML із власними назвами вузлів
Відкрийте фолд «Зразок вузла товару», знайдіть тег товару й теги полів. Натисніть «Зіставити автоматично» в секції «Структура XML», а що AI не зіставив — допишіть у таблицю «Поле системи ← Тег». Що вийде: після «Застосувати зіставлення» фід розбереться за вашими тегами.
Що робити, коли фід не розібрався
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| «Не знайдено вузол товару (‹тег›) у XML» | У фіді немає вузла з таким імʼям: задана неправильно або порожня | Впишіть «тег товару» вручну в секції «Структура XML» — подивіться його у фолді «Зразок вузла товару» (про XML) |
| «Структуру визначено. AI не зіставив поля — задайте теги вручну нижче.» | Структуру фіда розібрано, але пар «поле — тег» AI не запропонував | Заповніть таблицю «Поле системи ← Тег» руками й натисніть «Застосувати зіставлення» (про XML) |
Часті запитання
У XML замість прикладів значень стоїть «—». Це помилка?
Ні. Для фіда превʼю значень не будується, і в рядках майстра стоїть прочерк. Орієнтуйтеся на імена тегів, а фрагмент фіда подивіться у фолді «Зразок вузла товару» в секції «Структура XML».
Для JSON автопідбір не працює. Що робити?
Розмічати руками. Програма розгортає JSON у таблицю: бере масив товарів (за замовчуванням products), перший запис дає назви колонок. Адреса — номер колонки в цій таблиці.
XML-фід імпортувався без помилки, а товарів немає. Чому?
Перевірки незаповнених адрес для XML не виконуються, тож фід піде в роботу й з порожньою розміткою. Перевірте тег товару і кількість завантажених товарів. Детальніше: розмітка XML.
У майстрі замість заголовків «Ð¦ÐµÐ½Ð°». Що не так?
Кодування: якщо в прайсі не позначено, що файл у UTF-8, вміст перекодовується з windows-1251. Детальніше: CSV, TXT, TSV.
XML описує мій власний асортимент, а не постачальника. Що обрати?
Не прайс-лист, а імпорт каталогу з XML/YML: фід ляже в картки напряму, без зіставлень і націнок.
Суміжні теми
- Якщо потрібна загальна картина розмітки — Розмітка колонок прайс-листа.
- Якщо в книзі Excel кілька аркушів — Багатоаркушевий Excel.
- Якщо треба склеїти теги чи колонки в одне поле — Адреса стовпця: як склеїти колонки.

