Змінні в Mergado#

I. Змінні в Mergado Editor#

1. Що таке змінні в Mergado#

Змінні в Mergado Editor слугують замінниками конкретних значень з елементів. Це «тримачі» для даних, які відрізняються від товару до товару і які ви хочете далі обробляти або використовувати в правилах.

  • Змінна може мати для кожного товару інше значення.
  • Типовий приклад — елемент PRICE_VAT, значення якого в різних товарів різне.
  • Змінну можна створити вручну — наприклад, якщо потрібно витягнути частину тексту з назви або опису.
  • Крім користувацьких змінних існують і спеціальні системні змінні, як-от @MERGADO_ID.

Mergado працює безпосередньо з елементами як із джерелом значень. Змінні — це допоміжний інструмент там, де з тексту потрібно вийняти лише певну частину або далі працювати зі значеннями.

2. Як працюють змінні#

Змінні слугують для витягування тексту та його подальшого використання, передусім у правилах. Основний принцип роботи простий:

  1. Користувач вибирає елемент, у якому є потрібна інформація.
  2. Вводить регулярний вираз, який вибирає з цього елемента конкретну частину тексту.
  3. Ця частина зберігається як значення змінної.
  4. Потім змінна використовується в правилі — Mergado вставляє правильне значення для кожного товару окремо.
  5. Для системних змінних (наприклад, @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>

Мета — витягнути ці значення і зберегти їх у два окремі параметри: Ширина і Довжина.

А. Створення змінних#

  1. На сторінці Variables натисніть New variable.
  2. У полі Element виберіть зі списку елемент g:description.
  3. У поле Regular expression введіть вираз, який захопить обидва розміри: (\d+)x(\d+)
  4. У полі Test text з’явиться випадкове значення з вибраного елемента, тож ви одразу бачите, чи вираз працює. За допомогою піктограми стрілок можна завантажити інші зразки.
  5. Якщо регулярний вираз захопить будь-яку частину тексту, нижче з’явиться розділ із полями для введення назв змінних. Якщо вираз має кілька груп, для кожної з них з’явиться окреме поле.

У нашому випадку з’являться такі поля:

  • Full match: «150x50»
    • Це поле можна ігнорувати або зберегти, наприклад, як змінну rozmery, якщо вам потрібен увесь рядок.
  • Group 1: «150»
    Назвіть її sirka.
  • Group 2: «50»
    • Назвіть її delka.
  1. Натисніть Save. Так ви отримаєте дві нові змінні: sirka і delka.

Б. Налаштування параметрів за допомогою правила#

  1. На сторінці Rules створіть нове правило типу Налаштувати параметри товарів.
  2. У першому стовпці вкажіть вибірку товарів, для яких хочете налаштувати параметри.
  3. Введіть:

Перший параметр:

  • Назва параметра: Ширина
  • Значення параметра: %sirka%

Другий параметр:

  • Назва параметра: Довжина
  • Значення параметра: %delka%
  1. Збережіть правило, застосуйте його, а потім перегенеруйте проєкт.

В. Результат у вихідному фіді#

<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.

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

Б. Створення користувацьких змінних – порядок роботи#

Порядок створення нової користувацької змінної:

  1. Натисніть кнопку «New variable» на сторінці Variables.

  2. Виберіть джерельний елемент, з якого має бути створено змінну.

  3. Введіть регулярний вираз (маску), який визначить частину тексту для витягування.

  4. Протестуйте вираз:

    • У полі Test text з’явиться випадкове значення з вибраного елемента.
    • Тестовий текст можна оновити за допомогою піктограми двох стрілок.
    • Натисніть Test expression.
  5. Змінюйте й тестуйте, доки вираз не захопить потрібну частину тексту.

    • Для роботи з регулярними виразами можна скористатися й зовнішнім інструментом regex101.com.
  6. Збережіть змінну — захоплені частини тексту назвіть і підтвердьте кнопкою Save variable.

Такий порядок дає змогу ефективно витягувати конкретну інформацію з будь-якого тексту в елементі й потім використовувати її в правилах.

В. Використання змінних у правилах#

Змінні використовують передусім у правилах, де вони слугують джерелом значень для запису в інші елементи.

Синтаксис#

  • Змінну в правилі записують як %НАЗВА_ЗМІННОЇ%.
  • Той самий синтаксис діє і для системної змінної: %@MERGADO_ID%.
  • Значення всього елемента можна використати безпосередньо, наприклад:
    • %PRODUCTNAME%, %MANUFACTURER%, %DESCRIPTION%.
    • або як поєднання двох: %URL% %@MERGADO_ID%

Типове використання#

1. Правило Переписати
Слугує для складання нових значень — наприклад, складання назви товару з кількох джерел: %MANUFACTURER% %PRODUCTNAME% %PARAM_VELIKOST%

2. Правило Налаштувати параметри товарів
Слугує для заповнення елемента PARAM.
Якщо значення параметра збережено в змінній, його вказують у правій частині правила.

Г. Використання змінних у запитах (вибірках)#

Змінні безпосередньо не використовуються в синтаксисі запитів. Проте запити часто визначають групу товарів, до якої потім застосовується правило зі змінною.

Приклад порядку дій:

  • створите вибірку товарів, які містять певну властивість у назві,
  • до цієї вибірки застосуєте правило, яке використовує змінну, створену за допомогою регулярного виразу.

Приклад#

У назвах деяких товарів указано розміри, які потрібно витягнути й зберегти як новий параметр «Розмір». Приклад назви товару: «Adidas футболка ABC, колір червоний, розмір XL»

  1. Створення змінної - Створіть змінну з джерельного елемента (наприклад, g:title). За допомогою регулярного виразу захопіть частину тексту, яка означає розмір товару, тобто, наприклад, «XL». Збережіть змінну під назвою, наприклад, velikost_produktu.
  2. Створення вибірки товарів - Створіть вибірку товарів, які містять розмір у назві. Можна використати, наприклад, умову типу: g:title CONTAINS "розмір" (відповідно до справжньої структури назв ваших товарів).
  3. Створення правила – два можливі варіанти

Варіант А: правило Переписати

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

  • у поле 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, чим забезпечите, що кожен товар отримає унікальне значення. Цей підхід надійний і рекомендований для проєктів, де ідентифікатори повторюються, є непослідовними або містять недозволене значення. Зміни проявляться після застосування правил і подальшого оновлення вихідного фіду.

Чи вимагає використання змінних великих обчислювальних ресурсів?#

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

Чи була ця стаття корисною?