2016-07-06 3 views
2

Я вроде как новый для шаблонов Twig и Drupal 8, и у меня возникла небольшая проблема, связанная с некоторыми полями в файле шаблона узла. В принципе, у меня поле даты ограничено максимум двумя полями, и если введены 2 поля, я хотел бы отображать их как диапазон дат, а не только две случайные даты, наложенные на страницу.Loop through fields in 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 %} 

Позвольте мне знать, если я overthinking это. Любые указатели будут высоко оценены. Спасибо за вашу помощь.

Mark.

ответ

1

Я предлагаю вам рассчитать переменную dateLength с length twig filter как следующие:

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

Надежда эта помощь

+0

Я не эксперт Drupal, возможно, может быть также '{% установить dateLength = содержание .field_date ['# items'] | length%} ' – Matteo

+1

Ahhh, я определенно усложнил ситуацию. Как-то я пропустил фильтр длины при просеивании через документы Twig. Работает отлично ... Спасибо за ваш вклад! –

+0

привет @MarkK приветствуется! – Matteo

 Смежные вопросы

  • Нет связанных вопросов^_^