При переходе к Drupal 8/9 на twig шаблоны, часто возникает вопрос, как проверить что поле пустое.
Наиболее точный ответ на мой взгляд помогает найти фильтр render, т.к. он позволяет получить результат рендера соответствующего поля, а не заниматься исследованием структуры данных.
|
{% if content.field_my_field|render %} <div class="wrapper"> {{ content.field_my_field }} </div> {% endif %} |
В некоторых ситуациях, возможно, потребуется более сложная комбинация фильтров вроде такой:
|
{% if content.field_my_field|render|striptags|trim is not empty %} <div class="wrapper"> {{ content.field_my_field }} </div> {% endif %} |
Drupal 8/9 twig
Данная запись опубликована в 28.01.2022 19:07 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июль 6, 2023 г.
У нас есть контроллер, который выдаёт json ответ. Добавим кеширование.
Начнем с определения контроллера. Пусть сконфигурирован следующий mymodule.routing.yml:
[crayon-68958cdba70e1231930454/]
Это значит, что у нас создан класс PublicApi в ...
Читать
Сентябрь 8, 2021 г.
Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню.
Рендер меню по известному id меню
Вы знаете идентификатор, вам нужен рендер:
[crayon-68958cdba725b757518659/]
Рендер ...
Читать
Июнь 3, 2024 г.
Все видимые переменные шаблона можно посмотреть в переменной _context.
Вывести их имена, используя перебор циклом for:
[crayon-68958cdba73ba053700010/]
В Drupal, если вы используете модуль devel, в twig будет доступна функция dpm:
[crayon-68958cdba73c7347129486/]
Читать
Июль 27, 2021 г.
Чтобы извлечь адрес изображения из картинки в поле типа media, требуется ряд преобразований с использованием Entity объектов Drupal.
Предполагается, что вы уже загрузили entity с полем типа media (в примере называется - field_media) в какую то ...
Читать