Рендер ссылки в Drupal 9

В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого «наследника» устаревшей функции нет.

Чтобы получить примерно тот же функционал придется задействовать пару классов из ядра. К примеру, требуется создать ссылку на сайт shra.ru.

К сожалению, если вам нужно еще и установить какие либо атрибуты ссылки, то привычно передать их через тот же метод fromTextAndUrl() — не получится. Придется немного поколдовать над рендерингом:

Если же текст внутри ссылки должен содержать html код, то потребуется помощь еще одного класса —\Drupal\Core\Render\Markup.

Мало букафф? Читайте есчо !

Как в Drupal 9 получить URL изображения, сохраненного в поле media

Июль 27, 2021 г.

Чтобы извлечь адрес изображения из картинки в поле типа media, требуется ряд преобразований с использованием Entity объектов Drupal. Предполагается, что вы уже загрузили entity с полем типа media (в примере называется - field_media) в какую то ...

Читать

Пишем логи в Drupal 9

Октябрь 8, 2021 г.

Привычная функция watchdog, которую мы использовали в 6/7 версиях, к девятке пережила эволюцию до сервиса логирования. Бывшее ранее: [crayon-69fd08087e2cc931912062/] Сейчас выглядит так: [crayon-69fd08087e2d3191616785/] Помимо того, ...

Читать

Проверка, что поле пустое в twig

Январь 28, 2022 г.

При переходе к Drupal 8/9 на twig шаблоны, часто возникает вопрос, как проверить что поле пустое. Наиболее точный ответ на мой взгляд помогает найти фильтр render, т.к. он позволяет получить результат рендера соответствующего поля, а не заниматься ...

Читать

Показ анимации, что идет загрузка, для обновления контента views в режиме ajax

Май 22, 2021 г.

Подгрузка данных с сервера (например, при изменении параметров фильтра) происходит с небольшой задержкой, потому пользователь может не понять, среагировал как то сайт или нет на его действия. Задача состоит в том, чтобы показать, что идет загрузка ...

Читать
 

Комментарии к «Рендер ссылки в Drupal 9»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: