循环遍历 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 %}
希望对您有所帮助
我是 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 %}
希望对您有所帮助