Змінні в Mergado#
I. Змінні в Mergado Editor#
1. Що таке змінні в Mergado#
Змінні в Mergado Editor слугують замінниками конкретних значень з елементів. Це «тримачі» для даних, які відрізняються від товару до товару і які ви хочете далі обробляти або використовувати в правилах.
- Змінна може мати для кожного товару інше значення.
- Типовий приклад — елемент
PRICE_VAT, значення якого в різних товарів різне. - Змінну можна створити вручну — наприклад, якщо потрібно витягнути частину тексту з назви або опису.
- Крім користувацьких змінних існують і спеціальні системні змінні, як-от
@MERGADO_ID.
Mergado працює безпосередньо з елементами як із джерелом значень. Змінні — це допоміжний інструмент там, де з тексту потрібно вийняти лише певну частину або далі працювати зі значеннями.
2. Як працюють змінні#
Змінні слугують для витягування тексту та його подальшого використання, передусім у правилах. Основний принцип роботи простий:
- Користувач вибирає елемент, у якому є потрібна інформація.
- Вводить регулярний вираз, який вибирає з цього елемента конкретну частину тексту.
- Ця частина зберігається як значення змінної.
- Потім змінна використовується в правилі — Mergado вставляє правильне значення для кожного товару окремо.
- Для системних змінних (наприклад,
@MERGADO_ID) діє той самий порядок — у правилах їх обгортають знаками відсотка:%@MERGADO_ID%.
Змінні, отже, дають змогу працювати навіть із даними, які у фіді погано структуровані.
3. Навіщо і коли використовувати змінні#
Змінні доречні скрізь, де потрібно працювати з частиною тексту, створювати нові значення або доповнювати відсутню інформацію.
А. Налаштування значень у правилах#
Змінні часто використовують для доповнення або зміни значень в елементах. За допомогою регулярних виразів можна вийняти з тексту лише його частину і зберегти її як змінну, яку потім вставите в інший елемент.
Б. Складання та зміна даних#
Змінні дають змогу складати значення з кількох місць в один результат. Типовий приклад — складання назви товару поєднанням кількох елементів і змінних (наприклад, виробник, тип, розмір).
В. Витягування даних в елементи PARAM#
Якщо товари не містять параметрів в елементі PARAM, але властивості вказано в назві або описі, їх можна за допомогою регулярного виразу витягнути в змінні, а потім зберегти як стандартизовані параметри. Цей підхід універсальний — працює незалежно від того, які конкретні значення трапляються в тексті.
Г. Використання системної змінної @MERGADO_ID#
@MERGADO_ID — унікальний ідентифікатор товару, який Mergado використовує для внутрішньої ідентифікації. Користувачі можуть використати його передусім у ситуаціях, коли:
- значення
ITEM_IDабоg:idвідсутні або повторюються, - потрібно створити унікальну URL-адресу, додавши
#@MERGADO_ID, - потрібно оновити зображення, збережені в сервісах порівняння цін.
Значення @MERGADO_ID можна записати в будь-який елемент за допомогою правила типу Переписати.
Підсумок розділу#
Змінні в Mergado слугують для витягування і подальшої обробки значень з елементів. Користувач вибирає елемент, регулярним виразом визначає потрібну частину тексту і зберігає її як змінну. Її потім можна використати в правилах, під час складання назв, створення параметрів або зміни URL-адрес. Змінні доречні скрізь, де потрібно працювати з мінливим або неструктурованим текстом і перетворити його на єдиний вигляд.
II. Типи змінних у Mergado#
1. Користувацькі змінні#
Користувацькі змінні — це значення, витягнуті з елементів, які можуть відрізнятися від товару до товару. Найчастіше їх використовують у ситуаціях, коли потрібно отримати лише певну частину тексту з назви або опису.
Створення користувацьких змінних#
Користувацькими змінними керують на сторінці Variables за допомогою кнопки New variable. Порядок такий:
- виберете елемент, на основі якого має бути створено змінну,
- введете регулярний вираз, який визначить частину тексту для захоплення,
- у тестовому полі перевірите, що вираз працює правильно,
- збережете захоплену частину тексту під вибраною назвою змінної.
- за допомогою одного регулярного виразу можна створити кілька змінних одночасно
- якщо в регулярному виразі використаєте дужки, кожна пара дужок оцінюється як окрема група, і її можна зберегти в окрему змінну
- типово, наприклад, коли в елементі з URL зображення вказано кілька URL-адрес, розділених комою, і кожну URL-адресу потрібно витягнути в окрему змінну
Приклад#
У фіді Google в описі товару в елементі g:description вказано розміри товару, наприклад «150x50», де перше значення означає ширину, а друге — довжину: <g:description>Опис товару, розміри: 150x50</g:description>
Мета — витягнути ці значення і зберегти їх у два окремі параметри: Ширина і Довжина.
А. Створення змінних#
- На сторінці Variables натисніть New variable.
- У полі Element виберіть зі списку елемент
g:description. - У поле Regular expression введіть вираз, який захопить обидва розміри: (\d+)x(\d+)
- У полі Test text з’явиться випадкове значення з вибраного елемента, тож ви одразу бачите, чи вираз працює. За допомогою піктограми стрілок можна завантажити інші зразки.
- Якщо регулярний вираз захопить будь-яку частину тексту, нижче з’явиться розділ із полями для введення назв змінних. Якщо вираз має кілька груп, для кожної з них з’явиться окреме поле.
У нашому випадку з’являться такі поля:
- Full match: «150x50»
- Це поле можна ігнорувати або зберегти, наприклад, як змінну
rozmery, якщо вам потрібен увесь рядок.
- Це поле можна ігнорувати або зберегти, наприклад, як змінну
- Group 1: «150»
Назвіть їїsirka. - Group 2: «50»
- Назвіть її
delka.
- Назвіть її
- Натисніть Save. Так ви отримаєте дві нові змінні:
sirkaіdelka.
Б. Налаштування параметрів за допомогою правила#
- На сторінці Rules створіть нове правило типу Налаштувати параметри товарів.
- У першому стовпці вкажіть вибірку товарів, для яких хочете налаштувати параметри.
- Введіть:
Перший параметр:
- Назва параметра:
Ширина - Значення параметра:
%sirka%
Другий параметр:
- Назва параметра:
Довжина - Значення параметра:
%delka%
- Збережіть правило, застосуйте його, а потім перегенеруйте проєкт.
В. Результат у вихідному фіді#
<g:description>Опис товару, розміри: 150x50</g:description>
<g:attribute_detail>
<g:attribute_name>Ширина</g:attribute_name>
<g:attribute_value>150</g:attribute_value>
</g:attribute_detail>
<g:attribute_detail>
<g:attribute_name>Довжина</g:attribute_name>
<g:attribute_value>50</g:attribute_value>
</g:attribute_detail>
Основне призначення#
Користувацькі змінні використовують передусім для:
- витягування конкретної частини тексту з елементів із довшим або неструктурованим вмістом,
- витягування значень, як-от розмір, колір, об’єм, технічні параметри чи інші властивості товару,
- доповнення або створення параметрів в елементі
PARAM, - заповнення інших елементів за допомогою правил, наприклад Налаштувати параметри товарів або Переписати.
Цей підхід універсальний — працює для будь-яких колірних варіантів, розмірів чи інших значень, які можуть траплятися у фіді.
2. Системні змінні#
Системні змінні — це спеціальний набір змінних, які є безпосередньою частиною Mergado. Користувач їх не створює вручну.
Фіксований набір#
На сторінці Variables ви знайдете таблицю Special variables, у якій наведено всі доступні системні змінні. Наразі існує єдина системна змінна: @MERGADO_ID
Що означає @MERGADO_ID і як вона працює#
@MERGADO_ID— внутрішній унікальний ID товару.- Це числове значення, однозначне для кожного товару.
- У правилах її записують, обгорнувши знаками відсотка:
%@MERGADO_ID%.
Типове використання @MERGADO_ID#
- як заміна відсутніх або дубльованих значень в елементах
ITEM_IDабоg:id, - для створення унікальних URL-адрес додаванням
#@MERGADO_ID, - для «оновлення» зображень — зміна URL-адрес зображень за допомогою
#@MERGADO_IDзмусить сервіси порівняння цін завантажити їх знову, - для запису в будь-який елемент за допомогою правила типу Переписати.
3. Використання елементів як змінних#
У Mergado в правилах можна безпосередньо використовувати значення елементів без потреби створювати власну змінну. Досить указати назву елемента, обгорнуту знаками відсотка, наприклад:
%PRODUCTNAME%%MANUFACTURER%%DESCRIPTION%
Так можна працювати з усім вмістом елемента. Цей механізм функціонально нагадує змінну, але створювати її окремо не потрібно.
Коли досить використати елемент#
Елемента в правилі досить, якщо:
- ви хочете використати все значення елемента,
- ви не витягуєте частину тексту,
- ви працюєте з однозначним і добре структурованим вмістом.
Коли створити користувацьку змінну#
Користувацьку змінну доречно створити тоді, коли:
- потрібно отримати лише певну частину тексту (наприклад, «XL» із довгої назви),
- ви працюєте з описом, який містить різні значення, змішані в одному тексті,
- ви не хочете створювати десятки вибірок або правил для кожного конкретного кольору, розміру чи іншого варіанта,
- потрібне універсальне рішення, яке працюватиме й після додавання нових значень у фід.
У цих випадках регулярний вираз дає змогу створити змінну, яка витягує саме ту інформацію, яка вам потрібна.
III. Робота зі змінними в Mergado#
А. Керування змінними#
Змінними керують на сторінці Variables у головному меню Mergado Editor. Ця сторінка слугує центральним оглядом усіх змінних у проєкті:
- Користувацькі змінні — змінні, створені користувачем.
- Спеціальні змінні — системні змінні, наведені в таблиці Special variables.
- Створення нових змінних — відбувається натисканням New variable.
Керування змінними охоплює й можливість змінну змінити або видалити.
Б. Створення користувацьких змінних – порядок роботи#
Порядок створення нової користувацької змінної:
-
Натисніть кнопку «New variable» на сторінці Variables.
-
Виберіть джерельний елемент, з якого має бути створено змінну.
-
Введіть регулярний вираз (маску), який визначить частину тексту для витягування.
-
Протестуйте вираз:
- У полі Test text з’явиться випадкове значення з вибраного елемента.
- Тестовий текст можна оновити за допомогою піктограми двох стрілок.
- Натисніть Test expression.
-
Змінюйте й тестуйте, доки вираз не захопить потрібну частину тексту.
- Для роботи з регулярними виразами можна скористатися й зовнішнім інструментом regex101.com.
-
Збережіть змінну — захоплені частини тексту назвіть і підтвердьте кнопкою Save variable.
Такий порядок дає змогу ефективно витягувати конкретну інформацію з будь-якого тексту в елементі й потім використовувати її в правилах.
В. Використання змінних у правилах#
Змінні використовують передусім у правилах, де вони слугують джерелом значень для запису в інші елементи.
Синтаксис#
- Змінну в правилі записують як
%НАЗВА_ЗМІННОЇ%. - Той самий синтаксис діє і для системної змінної:
%@MERGADO_ID%. - Значення всього елемента можна використати безпосередньо, наприклад:
%PRODUCTNAME%,%MANUFACTURER%,%DESCRIPTION%.- або як поєднання двох:
%URL% %@MERGADO_ID%
Типове використання#
1. Правило Переписати
Слугує для складання нових значень — наприклад, складання назви товару з кількох джерел: %MANUFACTURER% %PRODUCTNAME% %PARAM_VELIKOST%
2. Правило Налаштувати параметри товарів
Слугує для заповнення елемента PARAM.
Якщо значення параметра збережено в змінній, його вказують у правій частині правила.
Г. Використання змінних у запитах (вибірках)#
Змінні безпосередньо не використовуються в синтаксисі запитів. Проте запити часто визначають групу товарів, до якої потім застосовується правило зі змінною.
Приклад порядку дій:
- створите вибірку товарів, які містять певну властивість у назві,
- до цієї вибірки застосуєте правило, яке використовує змінну, створену за допомогою регулярного виразу.
Приклад#
У назвах деяких товарів указано розміри, які потрібно витягнути й зберегти як новий параметр «Розмір». Приклад назви товару: «Adidas футболка ABC, колір червоний, розмір XL»
- Створення змінної - Створіть змінну з джерельного елемента (наприклад,
g:title). За допомогою регулярного виразу захопіть частину тексту, яка означає розмір товару, тобто, наприклад, «XL». Збережіть змінну під назвою, наприклад,velikost_produktu. - Створення вибірки товарів - Створіть вибірку товарів, які містять розмір у назві. Можна використати, наприклад, умову типу:
g:title CONTAINS "розмір"(відповідно до справжньої структури назв ваших товарів). - Створення правила – два можливі варіанти
Варіант А: правило Переписати
Використовується, якщо хочете вручну скласти структуру параметра за допомогою елементів.
- у поле Element введіть:
g:attribute_detail { g:attribute_name = "Розмір" } | g:attribute_value
(якщо параметра «Розмір» ще немає, Mergado автоматично його створить) - у поле New value введіть:
%velikost_produktu%
Варіант Б: правило Налаштувати параметри товарів
Використовується, якщо хочете просто створити параметр за допомогою форми.
- у поле Parameter name введіть:
Розмір - у поле Parameter value введіть:
%velikost_produktu%
Так витягнутий розмір зберігається як стандартизований параметр, який можна далі використовувати в експортних форматах або правилах.
Д. Відображення та експорт змінних#
Відображення значень#
- Системні змінні
@MERGADO_ID:- Значення системної змінної
@MERGADO_IDможна відобразити на сторінці Products. - У табличному поданні за допомогою піктограми Mergado можна додати стовпець зі значеннями
@MERGADO_ID.
- Значення системної змінної
- Користувацькі змінні
- Значення користувацьких змінних можна відобразити лише після вставлення змінної в елемент за допомогою правила.
- Значення елемента, створені зі змінної, перевіримо або на сторінці Products, або в розділі Elements → Element values → List element values.
Експорт у CSV#
-
Так само як відобразити, експортувати значення змінних можна лише як значення елемента, у який ми вставили змінну правилом, або якщо йдеться про системну змінну
@MERGADO_ID:- На сторінці Products перейдіть на табличне подання, виберіть потрібний елемент і натисніть Download CSV.
- Виберіть опцію Columns from table — так завантажаться й значення змінних, які були показані в таблиці.
IV. Сценарії використання та найчастіші помилки#
1. Типові сценарії використання#
а) Доповнення параметрів товару#
Значення, вказані в назві або описі (наприклад, розмір, колір, об’єм, матеріал), можна за допомогою регулярного виразу витягнути в користувацьку змінну. Отримані так значення потім записують в елемент PARAM правилом Налаштувати параметри товарів.
б) Створення нової назви товару#
Щоб змінити або уніфікувати назви, можна скласти новий вміст елемента з кількох змінних і елементів.
Типовий приклад використання в правилі Переписати:
%MANUFACTURER% %PRODUCTNAME% %velikost%
де MANUFACTURER і PRODUCTNAME — стандартні елементи, а velikost — користувацька змінна. Результат — структурована й послідовна назва товару.
в) Видалення витягнутих даних із назви#
Якщо параметри було витягнуто з назви й перенесено в PARAM, може знадобитися видалити їх із початкової назви товару. Це робиться правилом Знайти й замінити із використанням регулярного виразу.
Такий підхід поширений, наприклад, у форматах, які вимагають чистої назви без розмірів чи кольорів.
г) Використання @MERGADO_ID як унікального ключа#
@MERGADO_ID використовують передусім для:
- заміни відсутніх або дубльованих ідентифікаторів (
ITEM_ID,g:id), - створення унікальних URL-адрес (наприклад, додаванням
#@MERGADO_IDу кінець адреси), - примусового повторного завантаження зображень у сервісах порівняння цін.
Цю системну змінну записують в елементи за допомогою правила Переписати.
2. Найчастіші помилки та їх розв’язання#
Змінна повертає порожні значення#
- Регулярний вираз не відповідає справжньому тексту.
- Розв’язання: змінити вираз і протестувати його на кількох випадках у Mergado або в інструменті regex101.com.
Вираз захоплює забагато тексту#
- Регулярний вираз надто загальний.
- Розв’язання: уточнити шаблон, за потреби використати якорі, групи або обмеження діапазону.
Вибраний елемент не містить потрібних даних#
- Змінну створено на основі неправильного елемента.
- Розв’язання: перевірити, в якому елементі інформація насправді міститься, і відповідно змінити змінну.
Правило не вплинуло на дані#
- Правило могло бути не застосоване або його застосовано до іншої вибірки.
- Розв’язання: перевірити застосування правил і переконатися в результаті в розділі
Elements → Element values → List element values.
Дубльовані ідентифікатори#
- Деякі сервіси вимагають унікального ідентифікатора.
- Розв’язання: використати
%@MERGADO_ID%і ним переписати або доповнити цільовий елемент, який містить дублікати.
Часті запитання#
Що таке змінна в Mergado?#
Змінна — це збережене значення, отримане з елемента, яке можна використати в правилах та інших змінах даних.
Для чого слугують змінні?#
Вони слугують для витягування значень з елементів, доповнення параметрів, створення нових значень або стандартизації даних.
Яка різниця між елементом і змінною?#
Елемент — це початкове значення з фіду. Змінна — це частина цього значення, отримана регулярним виразом.
Коли використати змінну, а коли досить використати елемент?#
Змінну використайте, якщо потрібно витягнути й використати частину тексту. Елемент використайте, якщо хочете працювати з усім його значенням.
Як створюється змінна?#
Змінна створюється на сторінці Variables за допомогою кнопки «New variable». Виберете елемент, який містить потрібні дані, і введете регулярний вираз, яким визначите частину тексту для витягування. Потім вираз протестуєте на прикладі значення й за потреби змінюватимете, доки він не відповідатиме бажаному результату. Нарешті захоплене значення назвете й збережете як змінну.
Чи треба створювати змінну для кожного елемента, з яким хочу працювати?#
Ні. Якщо потрібно використати весь вміст елемента, створювати змінну не потрібно.
Чи можна створити кілька змінних одночасно?#
Так. Якщо регулярний вираз містить кілька груп (дужок), кожну можна зберегти як окрему змінну за допомогою однієї форми.
Що таке системна змінна @MERGADO_ID?#
Це внутрішній унікальний ідентифікатор товару, доступний автоматично.
Для чого слугує @MERGADO_ID?#
Для доповнення відсутніх або дубльованих ідентифікаторів, створення унікальних URL-адрес, примусового повторного завантаження зображень у цільовій системі тощо.
Як використати змінну в правилі?#
Вставте її у форматі %НАЗВА_ЗМІННОЇ%.
Як вставити @MERGADO_ID у правило?#
Пишіть її у форматі %@MERGADO_ID%.
Чи можна використати змінну в запиті (вибірці)?#
Ні, синтаксис змінних у запитах не використовується. Запит слугує лише для визначення товарів, до яких застосується правило зі змінною.
Де керувати змінними?#
На сторінці Variables у головному меню проєкту.
Чи можна змінну пізніше змінити або видалити?#
Так, в огляді змінних можна змінні змінювати і видаляти.
Як дізнатися, що мій регулярний вираз працює?#
Використайте Test text у діалозі створення змінної або протестуйте вираз на regex101.com.
Що робити, коли змінна повертає порожні значення?#
Змінити регулярний вираз так, щоб він відповідав структурі тексту в елементі. Також можна звернутися до нашої технічної підтримки.
Чому змінна не потрапила в результат?#
Перевірте, чи було застосовано правило і чи змінна відповідає вмісту елемента.
Як перевірити значення змінної в товарі?#
Найпростіше — показати товар у табличному поданні на сторінці Products і додати стовпець із відповідним елементом або з @MERGADO_ID. Значення елемента, створені зі змінної, буде видно лише після створення й застосування правила. Також можна скористатися списком значень у розділі Elements → Element values → List element values. Цей інструмент покаже точний вміст елемента в тому вигляді, у якому він записався після застосування правил. Так легко перевірите, чи змінна працює, як очікувалося.
Чи можна експортувати значення змінних у CSV?#
Так, досить під час експорту CSV використати опцію Columns from table.
Чому регулярний вираз захопив забагато тексту?#
Вираз надто загальний. Обмежте його точнішими групами або якорями.
Як витягнуті значення перенести в назву товару?#
Створіть змінну, а потім вставте її в правило Переписати як поєднання назви й змінної.
Як видалити витягнуте значення з назви?#
Використайте правило Знайти й замінити з відповідним регулярним виразом.
Чи можна використати змінну для роботи з URL?#
Так, змінні можна використовувати й для зміни URL-адрес. Типовий приклад — додавання значення %@MERGADO_ID% у кінець URL, яким створите унікальну адресу (наприклад, для товарів-варіантів або зображень). Такий підхід використовують і тоді, коли потрібно змусити сервіси порівняння цін знову завантажити зображення. У правилах URL складається тим самим синтаксисом, що й інші текстові значення.
Що робити, якщо товар не має параметра в елементі PARAM?#
Витягніть значення з назви або опису за допомогою змінної і доповніть його правилом Налаштувати параметри товарів.
Чи потрібен для кожної властивості окремий регулярний вираз?#
Ні. Добре складений вираз із групами витягує різні властивості окремо (наприклад, усі розміри або кольори).
Чи може змінна містити кілька значень?#
Ні. Змінна — це множина значень, яка для кожного товару містить завжди рівно одне значення або жодного.
Що робити, коли маю дубльовані значення в ITEM_ID?#
Якщо у фіді бракує унікального ідентифікатора, можна замінити його системною змінною @MERGADO_ID. За допомогою правила типу Переписати запишете %@MERGADO_ID% в елемент ITEM_ID або g:id, чим забезпечите, що кожен товар отримає унікальне значення. Цей підхід надійний і рекомендований для проєктів, де ідентифікатори повторюються, є непослідовними або містять недозволене значення. Зміни проявляться після застосування правил і подальшого оновлення вихідного фіду.
Чи вимагає використання змінних великих обчислювальних ресурсів?#
Ні, змінні обчислюються під час застосування правил і не впливають негативно на звичайну роботу проєкту.