Вы можете использовать теги переменных для создания новых переменных 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
.