Вы можете использовать теги переменных для создания новых переменных Liquid.


В этом материале


assign

Создает новую именованную переменную.

{% assign favorite_food = 'яблоки' %}

Мои любимые фрукты - {{ favorite_food }}.
Вывод
Мои любимые фрукты - яблоки.

Переменными assigned могут быть строки или логические значения (true или false). Не забудьте использовать кавычки вокруг значения, если оно true или false:

{% assign first_time_visitor = true %}
{% if first_time_visitor == true %}
  Добро пожаловать на сайт!
{% endif %}
Вывод
Добро пожаловать на сайт!

capture

Захватывает строку внутри открывающего и закрывающего тегов и присваивает её переменной. Переменные, созданные с помощью {% capture %}, являются строками.

Используя capture, вы можете создавать сложные строки, используя другие переменные, созданные с помощью assign.

{% assign favorite_food = 'пицца' %}
{% assign age = 35 %}

{% capture about_me %}
Мне {{ age }} лет, и моя любимая еда - {{ favorite_food }}.
{% endcapture %}

{{ about_me }}
Вывод
Мне 35 лет, и моя любимая еда - пицца.

increment

Создает новую числовую переменную и увеличивает её значение на 1 при каждом вызове переменной increment. Начальное значение счетчика равно 0.

Здесь счетчик increment используется для создания уникального нумерованного класса для каждого элемента списка:

<ul>
<li class="item-{% increment counter %}">яблоки</li>
<li class="item-{% increment counter %}">апельсины</li>
<li class="item-{% increment counter %}">персики</li>
<li class="item-{% increment counter %}">сливы</li>
</ul>
Вывод
<ul>
<li class="item-0">яблоки</li>
<li class="item-1">апельсины</li>
<li class="item-2">персики</li>
<li class="item-3">сливы</li>
</ul>

Переменные, созданные с использованием increment, отличаются от переменных, созданных с использованием assign или capture.

В приведенном ниже примере переменная с именем my_number создается с помощью assign. Тег increment затем используется несколько раз для переменной с тем же именем. Обратите внимание, что тег increment не влияет на значение my_number, которое было создано через assign.

{% assign my_number = 10 %}

{% increment my_number %}
{% increment my_number %}
{% increment my_number %}

{{ my_number }}
Вывод
0
1
2

10

decrement

Создает новую числовую переменную и уменьшает ее значение на единицу каждый раз, когда в переменной указывается decrement. Начальное значение счетчика равно -1.

{% decrement variable %}
{% decrement variable %}
{% decrement variable %}
Вывод
-1
-2
-3

Как и increment, переменные, объявленные с использованием decrement, не зависят от переменных, созданных с помощью assign или capture.