Как в шаблоне параграфа получить заголовок родительской ноды

Иногда возникает задача: в Twig-шаблоне параграфа (paragraph.html.twig) нужно отобразить заголовок материала (ноды), к которому этот параграф прикреплён.

Нам не нужно передавать что то дополнительно в шаблон, эти данные могут быть получены из самой сущности paragrpaph, которая передаётся в шаблон в виде объекта.

Подробнее о том как это работает

Объект paragraph является полноценной сущностью (\Drupal\paragraphs\Entity\Paragraph). У этой сущности есть метод getParentEntity(), возвращающий родительскую сущность — обычно это node.

Twig умеет обращаться к публичным методам и свойствам объектов, поэтому в шаблоне мы можем писать просто paragraph.parentEntity, чтобы получить доступ к родительскому объекту.

Пример кода с выводом заголовка node

В paragraph.html.twig добавим проверку и вывод:

Что здесь происходит

  • paragraph.parentEntity — возвращает родительскую сущность.
  • paragraph.parentEntity.entityTypeId — проверяем, что родитель действительно нода (а не, например, другой параграф).
  • paragraph.parentEntity.label — заголовок родительской ноды (аналогично node.label).

Вложенные параграфы

Если параграф вложен в другой параграф, то paragraph.parentEntity вернёт именно «прямого родителя». В таком случае нужно решать, откуда брать заголовок — от ближайшего контейнера или искать выше по иерархии до ноды. Для базовых сценариев приведённого кода достаточно.

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

Добавление произвольных требований при установке модуля в Drupal

Май 7, 2025 г.

Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...

Читать

Быстро чистим таксономии в Drupal

Апрель 24, 2025 г.

Чтобы через админку почистить длинные словари, нужно много времени, даже если вы используете bulk операции. Потому будем чистить их через код. Разберем пример кода: [crayon-6a2b2b5b5ec63229360711/] Эти две команды удаляют все термины из словаря ...

Читать

Rutube: интегрируем как oembed provider source в Drupal

Февраль 28, 2025 г.

Задача - добавить rutube как oembed провайдера в медиа библиотеку, чтобы можно было создать медиа тип Rutube, где будет поле для ввода ссылки. Медиа поля ...

Читать

Добавляем кнопку регистрации на форму авторизации

Декабрь 23, 2025 г.

В этой статье мы рассмотрим, как добавить кнопку "Register" в форму авторизации в Drupal, которая будет перенаправлять пользователя на страницу регистрации. ...

Читать
 

Комментарии к «Как в шаблоне параграфа получить заголовок родительской ноды»

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



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