循环遍历 Drupal 8 中的字段

Loop through fields in Drupal 8

我是 Twig 模板和 Drupal 8 的新手,我在遍历节点模板文件中的某些字段时遇到了一些麻烦。基本上,我有一个日期字段限制为最多 2 个字段,如果输入 2 个字段,我想将它们显示为日期范围,而不仅仅是页面上的两个随机日期。

我试图通过使用 for loop/if 语句检查是否存在多个字段并相应地显示字段输出来实现这一点。

这是我目前的情况:

  {% set dateLength = "" %}
  {% for date in content.field_date['#items'].getValue() %}
    {% set dateLength %}
      {{ loop.length }}
    {% endset %}
  {% endfor %}

  {% if dateLength == 2 %}
    {{ content.field_date['#items'].getValue()|last.value }}—{{ content.field_date['#items'].getValue()|first.value }}
  {% else %}
    {{ content.field_date['#items'].getValue() }}
  {% endif %}

如果我想多了,请告诉我。任何指针将不胜感激。感谢您的帮助。

马克.

我建议您使用 length twig filter 计算 dateLength 变量,如下所示:

{% set dateLength  = content.field_date['#items'].getValue() | length %}

希望对您有所帮助