У меня есть страница Drupal Views, на которой показаны все последние опубликованные статьи. Я хочу продемонстрировать последнюю статью в другом div отдельно, а затем зациклить все остальные статьи.
Это мой код для цикла, который находится в файле node--view.html.twig -
<div{{ attributes.addClass('col-4')}}>
<div class = "news-card">
<img src = "{{ file_url(node.field_image.entity.fileuri) }}">
<h3>{{ node.label }}</h3>
{% set text = content.body|render|striptags %}
<p>{{ text|length > 100 ? text|slice(0, 120) ~ '...' : text }}</p>
<a href = "{{ url }}" class = "btn black-btn">Read More</a>
</div>
</div>
и в моем файле views-view-unformatted.html.twig у меня есть -
<h2>{{ view.getTitle() }}</h2>
{% if title %}
<h3>{{ title }}</h3>
{% endif %}
<div class = "row news-row">
{% for row in rows %}
{%
set row_classes = [
default_row_class,
]
%}
{{- row.content -}}
{% endfor %}
</div>
Вы можете использовать переменную цикла, чтобы определить, какой «элемент» является первым/последним в цикле.
{% if loop.first %}
...
{% endif %}
{% if loop.last %}
...
{% endif %}
Ваш код
<div class = "row news-row">
{% for row in rows %}
{%
set row_classes = [
default_row_class,
]
%}
{% if loop.first %}
First item:
{% endif %}
{% if loop.first %}
Last item:
{% endif %}
{{- row.content -}}
{% endfor %}
</div>
Вы знаете, куда бы я поместил этот код? Я пробовал как row.content.first в файле views-view-unformatted.html.twig, но ничего не появляется.