Liquid: ifelse не работает и печатает var в теле

#html #css #if-statement #liquid

#HTML #css #if-оператор #жидкость

Вопрос:

Я пытаюсь создать домашнюю страницу для простого блога с помощью HTML и CSS. Для сообщений в блоге я создал 2 типа карточек: blog-card blog-card alt одну слева и одну справа, и они предназначены для чередования. Итак, я выполнил следующий код:

 {% assign iter = 0 %}
{% for post in site.posts %}
{% increment iter %}
{% assign itermodulo = iter | modulo: 2 %}
{% if itermodulo == 0 %}
<div class="blog-card">
...
</div>

{% else %}
<div class="blog-card alt">
...
</div>
{% endif %}
{% endfor %} 
  

Но вместо того, чтобы чередовать формат карты, все карты находятся слева (после blog-card ), а var iter печатается на экране. Что я должен делать? Заранее спасибо!

Ответ №1:

Что-то вроде этого должно работать:

 {% for post in site.posts %}
  {% assign itermodulo = forloop.index | modulo: 2 %}
  {% if itermodulo == 0 %}
    <div class="blog-card"></div>
  {% else %}
    <div class="blog-card alt"></div>
  {% endif %}
{% endfor %}