Подтвердить что ты не робот

Жидкие шаблоны: четные/нечетные элементы для цикла

Если у меня есть цикл for в Liquid (с помощью Jekyll), как я могу нацелить только (или нечетные) элементы? Я пробовал:

{% for item in site.posts %}
    {% if forloop.index % 2 == 1 %}

но это, похоже, не работает. Я также пробовал:

(forloop.index % 2) == 1

и

forloop.index - (forloop.index / 2 * 2) == 1
4b9b3361

Ответ 1

Я думаю, вам нужно использовать тег цикла для этого. Например:

{% for post in site.categories.articles %}
   <article class="{% cycle 'odd', 'even' %}"></article>
{% endfor %}

Если вы хотите разную разметку HTML для каждого цикла:

{% for item in site.posts %}
  {% capture thecycle %}{% cycle 'odd', 'even' %}{% endcapture %}
  {% if thecycle == 'odd' %}
    <div>echo something</div>
  {% endif %}
{% endfor %}

Дополнительную информацию об этом можно найти в Liquid for Designers, хотя пример не особенно полезен. Этот Shopify support thread также должен помочь.