如何定位 Drupal 视图中的第一项?

How can I target the first item in a Drupal view?

我有一个 Drupal Views 页面,其中显示了所有最新发布的文章。我想在不同的 div 中单独展示最新文章,然后将我的循环与所有其他文章一起展示。

这是我的循环代码,在节点--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>

您可以使用 the loop variable 来确定哪个“项目”是 first/last 在循环中。

{% 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>