Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 在Drupal8中遍历字段_Loops_Drupal_Twig_Drupal Theming_Drupal 8 - Fatal编程技术网

Loops 在Drupal8中遍历字段

Loops 在Drupal8中遍历字段,loops,drupal,twig,drupal-theming,drupal-8,Loops,Drupal,Twig,Drupal Theming,Drupal 8,我对Twig模板和Drupal 8有点陌生,在节点模板文件中循环某些字段时遇到了一些问题。基本上,我有一个日期字段,最多只能有两个字段,如果输入了两个字段,我希望将它们显示为一个日期范围,而不仅仅是页面上两个随机的日期 我试图通过使用for循环/if语句来检查是否存在多个字段,并相应地显示字段输出来实现这一点 以下是我目前掌握的情况: {% set dateLength = "" %} {% for date in content.field_date['#items'].getValu

我对Twig模板和Drupal 8有点陌生,在节点模板文件中循环某些字段时遇到了一些问题。基本上,我有一个日期字段,最多只能有两个字段,如果输入了两个字段,我希望将它们显示为一个日期范围,而不仅仅是页面上两个随机的日期

我试图通过使用for循环/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 %}
如果我想得太多,请告诉我。任何指点都将不胜感激。谢谢你的帮助


标记。

我建议您使用以下公式计算dateLength变量:

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

希望这个帮助

我不是Drupal专家,可能也可以
{%set dateLength=content.field_date['#items']| length%}
啊,我肯定是把事情复杂化了。不知何故,我在筛选细枝文档时错过了长度过滤器。工作完美。。。谢谢你的意见!