РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
94 of 1361 menu

Функция parent

Функция parent используется внутри тега block при наследовании шаблонов. Она выводит содержимое одноимённого блока из родительского шаблона. Это позволяет не переписывать блок целиком, а лишь дополнить или изменить его часть.

Функция не принимает параметров. Она возвращает строку с отрендеренным содержимым родительского блока. Вызывать её можно только внутри блока, который переопределяется в дочернем шаблоне.

Синтаксис

{{ parent() }}

Пример

Давайте создадим базовый шаблон с блоком content:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>{% block title %}hello{% endblock %}</title> </head> <body> {% block content %} <p>article</p> {% endblock %} </body> </html>

Теперь создадим дочерний шаблон, который расширяет базовый и переопределяет блок content, добавляя свой текст перед родительским:

{% extends 'base.html.twig' %} {% block content %} <p>user</p> {{ parent() }} {% endblock %}

Результат выполнения кода:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>hello</title> </head> <body> <p>user</p> <p>article</p> </body> </html>

Пример

Давайте переопределим блок title, дополнив родительский заголовок:

{% extends 'base.html.twig' %} {% block title %} {{ parent() }} - abcde {% endblock %}

Результат выполнения кода:

<title>hello - abcde</title>

Пример

Давайте вызовем parent в блоке, который определён сразу в нескольких уровнях наследования. Создадим промежуточный шаблон:

{% extends 'base.html.twig' %} {% block content %} <p>user</p> {{ parent() }} {% endblock %}

Теперь расширим промежуточный шаблон и снова вызовем parent:

{% extends 'middle.html.twig' %} {% block content %} <p>hello</p> {{ parent() }} {% endblock %}

Результат выполнения кода:

<p>hello</p> <p>user</p> <p>article</p>

Смотрите также

  • тег block,
    который задаёт именованный блок шаблона
  • тег extends,
    который наследует шаблон от родительского
  • тег include,
    который подключает другой шаблон
  • функция block,
    которая выводит содержимое блока по имени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить