【问题标题】:Loop through fields in Drupal 8循环遍历 Drupal 8 中的字段
【发布时间】:2016-07-06 04:33:20
【问题描述】:

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

我试图通过使用 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 %}

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

标记。

【问题讨论】:

    标签: loops drupal twig drupal-theming drupal-8


    【解决方案1】:

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

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

    希望有帮助

    【讨论】:

    • 我不是 Drupal 专家,可能也可以{% set dateLength = content.field_date['#items'] | length %}
    • 啊,我绝对是把事情复杂化了。在筛选 Twig 文档时,不知何故我错过了长度过滤器。完美运行...感谢您的意见!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多