Используем токены для доступа к полям параграфов в Drupal

Пара примеров о том, как вытащить нужную инфу из параграфов, используя токены. Обычно это нужно для генерации meta заголовков страницы.

У вас есть node, в которой вы создали поле field_myfield с entity_reference: paragrpahs.

Самое простое, выведем entity id:

Это будет id самого первого из параграфов, которые были созданы в данном поле. Если параграфов несколько, и вы точно знаете порядковый номер, то обратиться к нему можно вот так, например извлечем айди 3-го параграфа:

Как видите, используется нумерация, начиная с нуля.

Получить URL картинки из медиа поля параграфа, применив стиль изображения

Рассмотрим более интересный пример, а именно извлечении URL картинки из медиа поля параграфа.

Медиа entity имеет свой набор полей, пусть в нашем случае поле изображения медиа entity называется field_image. А стиль изображения называется medium. Этот стиль обычно существует по умолчанию в drupal.

Сначала получаем entity параграфа, обращаемся к полю field_media, но оно также предоставляет нам entity, у которого есть поле field_image. Далее мы применяем стиль изображения и запрашиваем url.

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

Редактируем атрибуты ссылки в twig шаблоне

Июль 14, 2023 г.

Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне? Например, возьмем штатный шаблон file-link.html.twig: [crayon-6a274ce0e4225786619179/] Используем фильтр merge, добавляя нужные атрибуты: [crayon-6a274ce0e4230639906454/]

Читать

Чем заменить drupal_get_path() в Drupal 9/10

Январь 9, 2024 г.

Функция считается устаревшей, начиная с версии ядра 9.3, в 10-й версии функция удалена из кода. В новом API нужно воспользоваться одним из сервисов ядра, которые реализуют нужную функцию. Сервис extension.list.module - реализует функции, связанные ...

Читать

Создание контроллера для скачивания файла в Drupal

Сентябрь 6, 2023 г.

Пример кода, реализующий endpoint скачиваемого файла. [crayon-6a274ce0e4580704118711/] Кроме контроллера, вам потребуется еще задать маршрут. Пример описания маршрута: [crayon-6a274ce0e4586547875080/]

Читать

Attempting to re-run cron while it is already running.

Июнь 3, 2025 г.

Попытка запустить cron параллельно с запущенным кроном не увенчается успехом, так как Drupal использует блокировку. Но иногда, из-за ошибок во время исполнения, блокировка не снимается. Что делать, если блокировка не была снята штатно? На самом ...

Читать
 

Комментарии к «Используем токены для доступа к полям параграфов в Drupal»

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



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