logologo
Початок
Посібник
Розробка
Плагіни
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Початок
Посібник
Розробка
Плагіни
API
logologo
Огляд
Опис конфігурації

Синтаксис шаблонів

Базове використання
Обробка в циклах

Інструменти форматування

Огляд
Форматування тексту
Форматування чисел
Форматування валют
Форматування дати
Форматування інтервалів часу
Форматування масивів

Розширені функції

Умовні оператори
Розширені можливості
Часті запитання
Сценарії використання
Previous PageФорматування масивів
Next PageРозширені можливості
Повідомлення про переклад ШІ

Ця документація була автоматично перекладена штучним інтелектом.

#Умовні оператори

Умовні оператори дозволяють динамічно керувати відображенням або приховуванням вмісту в документі на основі значень даних. Існує три основні способи написання умов:

  • Вбудовані умови: Прямий вивід тексту (або його заміна іншим текстом).
  • Умовні блоки: Відображення або приховування розділу документа, що підходить для кількох тегів, абзаців, таблиць тощо.
  • Розумні умови: Пряме видалення або збереження цільових елементів (таких як рядки, абзаци, зображення тощо) за допомогою одного тегу, що забезпечує більш лаконічний синтаксис.

Усі умови починаються з форматувальника логічної перевірки (наприклад, ifEQ, ifGT тощо), за яким слідують форматувальники дій (такі як show, elseShow, drop, keep тощо).

#Огляд

Логічні оператори та форматувальники дій, що підтримуються в умовних операторах, включають:

  • Логічні оператори

    • ifEQ(value): Перевіряє, чи дані дорівнюють вказаному значенню.
    • ifNE(value): Перевіряє, чи дані не дорівнюють вказаному значенню.
    • ifGT(value): Перевіряє, чи дані більші за вказане значення.
    • ifGTE(value): Перевіряє, чи дані більші або дорівнюють вказаному значенню.
    • ifLT(value): Перевіряє, чи дані менші за вказане значення.
    • ifLTE(value): Перевіряє, чи дані менші або дорівнюють вказаному значенню.
    • ifIN(value): Перевіряє, чи дані містяться в масиві або рядку.
    • ifNIN(value): Перевіряє, чи дані не містяться в масиві або рядку.
    • ifEM(): Перевіряє, чи дані порожні (наприклад, null, undefined, порожній рядок, порожній масив або порожній об'єкт).
    • ifNEM(): Перевіряє, чи дані не порожні.
    • ifTE(type): Перевіряє, чи тип даних дорівнює вказаному типу (наприклад, "string", "number", "boolean" тощо).
    • and(value): Логічне «І», використовується для з'єднання кількох умов.
    • or(value): Логічне «АБО», використовується для з'єднання кількох умов.
  • Форматувальники дій

    • :show(text) / :elseShow(text): Використовуються у вбудованих умовах для прямого виводу вказаного тексту.
    • :hideBegin / :hideEnd та :showBegin / :showEnd: Використовуються в умовних блоках для приховування або відображення розділів документа.
    • :drop(element) / :keep(element): Використовуються в розумних умовах для видалення або збереження вказаних елементів документа.

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

#Вбудовані умови

#1. :show(text) / :elseShow(text)

#Синтаксис
{дані:умова:show(текст)}
{дані:умова:show(текст):elseShow(альтернативний текст)}
#Приклад

Припустимо, дані такі:

{
  "val2": 2,
  "val5": 5
}

Шаблон виглядає так:

val2 = {d.val2:ifGT(3):show('high')}
val2 = {d.val2:ifGT(3):show('high'):elseShow('low')}
val5 = {d.val5:ifGT(3):show('high')}
#Результат
val2 = 2
val2 = low
val5 = high

#2. Switch Case (Множинні умовні оператори)

#Синтаксис

Використовуйте послідовні форматувальники умов для побудови структури, подібної до switch-case:

{дані:ifEQ(значення1):show(результат1):ifEQ(значення2):show(результат2):elseShow(результат за замовчуванням)}

Або досягніть того ж за допомогою оператора or:

{дані:ifEQ(значення1):show(результат1):or(дані):ifEQ(значення2):show(результат2):elseShow(результат за замовчуванням)}
#Приклад

Дані:

{
  "val1": 1,
  "val2": 2,
  "val3": 3
}

Шаблон:

val1 = {d.val1:ifEQ(1):show(A):ifEQ(2):show(B):elseShow(C)}
val2 = {d.val2:ifEQ(1):show(A):ifEQ(2):show(B):elseShow(C)}
val3 = {d.val3:ifEQ(1):show(A):ifEQ(2):show(B):elseShow(C)}
#Результат
val1 = A
val2 = B
val3 = C

#3. Умовні оператори з кількома змінними

#Синтаксис

Використовуйте логічні оператори and/or для перевірки кількох змінних:

{дані1:ifEQ(умова1):and(.дані2):ifEQ(умова2):show(результат):elseShow(альтернативний результат)}
{дані1:ifEQ(умова1):or(.дані2):ifEQ(умова2):show(результат):elseShow(альтернативний результат)}
#Приклад

Дані:

{
  "val2": 2,
  "val5": 5
}

Шаблон:

and = {d.val2:ifEQ(1):and(.val5):ifEQ(5):show(OK):elseShow(KO)}
or = {d.val2:ifEQ(1):or(.val5):ifEQ(5):show(OK):elseShow(KO)}
#Результат
and = KO
or = OK

#Логічні оператори та форматувальники

У наступних розділах описані форматувальники використовують синтаксис вбудованих умов у такому форматі:

{дані:форматувальник(параметр):show(текст):elseShow(альтернативний текст)}

#1. :and(value)

#Синтаксис
{дані:ifEQ(значення):and(нові дані або умова):ifGT(інше значення):show(текст):elseShow(альтернативний текст)}
#Приклад
{d.car:ifEQ('delorean'):and(.speed):ifGT(80):show('TravelInTime'):elseShow('StayHere')}
#Результат

Якщо d.car дорівнює 'delorean' І d.speed більше за 80, виводиться TravelInTime; інакше виводиться StayHere.

#2. :or(value)

#Синтаксис
{дані:ifEQ(значення):or(нові дані або умова):ifGT(інше значення):show(текст):elseShow(альтернативний текст)}
#Приклад
{d.car:ifEQ('delorean'):or(.speed):ifGT(80):show('TravelInTime'):elseShow('StayHere')}
#Результат

Якщо d.car дорівнює 'delorean' АБО d.speed більше за 80, виводиться TravelInTime; інакше виводиться StayHere.

#3. :ifEM()

#Синтаксис
{дані:ifEM():show(текст):elseShow(альтернативний текст)}
#Приклад
null:ifEM():show('Result true'):elseShow('Result false')
[]:ifEM():show('Result true'):elseShow('Result false')
#Результат

Для null або порожнього масиву виводиться Result true; інакше виводиться Result false.

#4. :ifNEM()

#Синтаксис
{дані:ifNEM():show(текст):elseShow(альтернативний текст)}
#Приклад
0:ifNEM():show('Result true'):elseShow('Result false')
'homer':ifNEM():show('Result true'):elseShow('Result false')
#Результат

Для непорожніх даних (таких як число 0 або рядок 'homer') виводиться Result true; для порожніх даних виводиться Result false.

#5. :ifEQ(value)

#Синтаксис
{дані:ifEQ(значення):show(текст):elseShow(альтернативний текст)}
#Приклад
100:ifEQ(100):show('Result true'):elseShow('Result false')
'homer':ifEQ('homer'):show('Result true'):elseShow('Result false')
#Результат

Якщо дані дорівнюють вказаному значенню, виводиться Result true; інакше виводиться Result false.

#6. :ifNE(value)

#Синтаксис
{дані:ifNE(значення):show(текст):elseShow(альтернативний текст)}
#Приклад
100:ifNE(100):show('Result true'):elseShow('Result false')
100:ifNE(101):show('Result true'):elseShow('Result false')
#Результат

Перший приклад виводить Result false, тоді як другий приклад виводить Result true.

#7. :ifGT(value)

#Синтаксис
{дані:ifGT(значення):show(текст):elseShow(альтернативний текст)}
#Приклад
1234:ifGT(1):show('Result true'):elseShow('Result false')
-23:ifGT(19):show('Result true'):elseShow('Result false')
#Результат

Перший приклад виводить Result true, а другий виводить Result false.

#8. :ifGTE(value)

#Синтаксис
{дані:ifGTE(значення):show(текст):elseShow(альтернативний текст)}
#Приклад
50:ifGTE(-29):show('Result true'):elseShow('Result false')
1:ifGTE(768):show('Result true'):elseShow('Result false')
#Результат

Перший приклад виводить Result true, тоді як другий виводить Result false.

#9. :ifLT(value)

#Синтаксис
{дані:ifLT(значення):show(текст):elseShow(альтернативний текст)}
#Приклад
-23:ifLT(19):show('Result true'):elseShow('Result false')
1290:ifLT(768):show('Result true'):elseShow('Result false')
#Результат

Перший приклад виводить Result true, а другий виводить Result false.

#10. :ifLTE(value)

#Синтаксис
{дані:ifLTE(значення):show(текст):elseShow(альтернативний текст)}
#Приклад
5:ifLTE(5):show('Result true'):elseShow('Result false')
1290:ifLTE(768):show('Result true'):elseShow('Result false')
#Результат

Перший приклад виводить Result true, а другий виводить Result false.

#11. :ifIN(value)

#Синтаксис
{дані:ifIN(значення):show(текст):elseShow(альтернативний текст)}
#Приклад
'car is broken':ifIN('is'):show('Result true'):elseShow('Result false')
[1,2,'toto']:ifIN(2):show('Result true'):elseShow('Result false')
#Результат

Обидва приклади виводять Result true (оскільки рядок містить 'is', а масив містить 2).

#12. :ifNIN(value)

#Синтаксис
{дані:ifNIN(значення):show(текст):elseShow(альтернативний текст)}
#Приклад
'car is broken':ifNIN('is'):show('Result true'):elseShow('Result false')
[1,2,'toto']:ifNIN(2):show('Result true'):elseShow('Result false')
#Результат

Перший приклад виводить Result false (оскільки рядок містить 'is'), а другий приклад виводить Result false (оскільки масив містить 2).

#13. :ifTE(type)

#Синтаксис
{дані:ifTE('тип'):show(текст):elseShow(альтернативний текст)}
#Приклад
'homer':ifTE('string'):show('Result true'):elseShow('Result false')
10.5:ifTE('number'):show('Result true'):elseShow('Result false')
#Результат

Перший приклад виводить Result true (оскільки 'homer' є рядком), а другий виводить Result true (оскільки 10.5 є числом).

#Умовні блоки

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

#1. :showBegin / :showEnd

#Синтаксис
{дані:ifEQ(умова):showBegin}
Вміст блоку документа
{дані:showEnd}
#Приклад

Дані:

{
  "toBuy": true
}

Шаблон:

Banana{d.toBuy:ifEQ(true):showBegin}
Apple
Pineapple
{d.toBuy:showEnd}Grapes
#Результат

Коли умова виконується, проміжний вміст відображається:

Banana
Apple
Pineapple
Grapes

#2. :hideBegin / :hideEnd

#Синтаксис
{дані:ifEQ(умова):hideBegin}
Вміст блоку документа
{дані:hideEnd}
#Приклад

Дані:

{
  "toBuy": true
}

Шаблон:

Banana{d.toBuy:ifEQ(true):hideBegin}
Apple
Pineapple
{d.toBuy:hideEnd}Grapes
#Результат

Коли умова виконується, проміжний вміст приховується, в результаті чого виводиться:

Banana
Grapes