Проверка на существование значения поля в Twig

Синтаксис Twig является новым для большинства друпалеров, и знание того, как проверить существование значения поля в Twig является необходимым при разработке тем для Drupal 8.

Давайте посмотрим, как правильно проверять значение.

Например, в типе контента есть необязательное поле "Подпись к фотографии". Если автор контента заполняет это поле, тогда рендеринг будет таким:

<figcaption>{{ content.field_photo_caption }}</figcaption>

Но что будет, если автор не заполнит это поле? Если использовать код выше, то тег <figcaption> будет отображён на странице.

Можно попытаться проверить содержимое контента вот так:

{% if content %}
  {{ content }}
{% endif %}

Но к сожалению, это не сработает для полей внутри {{ content }}. Решением является проверка существования отображённого поля:

{% if content.field_photo_caption|render %}
  <figcaption>{{ content.field_photo_caption }}</figcaption>
{% endif %}

Используя этот метод, тег <figcaption> и его значение будет отображены, только если поле "Подпись к фотографии" было заполнено.

Удачной разработки!

Оригинальная статья:

Подпишитесь на рассылку новостей CMScafe