При переходе к 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Август 3, 2021 г.
Смотрим как выполнить рендеринг файла-картинки в Drupal 9 программно.
Есть FID, и требуется рендерить этот файл программно в шаблоне <IMG>. Для этого нам понадобится воспользоваться сервисом ядра - renderer.
[crayon-6a001514e1869432349077/] ...
Читать
Июнь 3, 2024 г.
Все видимые переменные шаблона можно посмотреть в переменной _context.
Вывести их имена, используя перебор циклом for:
[crayon-6a001514e195e640122572/]
В Drupal, если вы используете модуль devel, в twig будет доступна функция dpm:
[crayon-6a001514e1965028653598/]
Читать
Август 1, 2021 г.
Ядро и модули объявляют множество токенов подстановки. Рассмотрим как получить доступ к глобальному объекту типа \Drupal\Core\Utility\Token и выполнить подстановку в строке.
Ядро предоставляет экземпляр объекта через следующий запрос:
[crayon-6a001514e1b2c247271908/] ...
Читать
Август 5, 2021 г.
В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого "наследника" устаревшей функции нет.
Чтобы получить примерно тот же функционал придется ...
Читать