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

Директива parent

Директива parent применяется в дочерних шаблонах Blade внутри секций, определённых с помощью директивы section. Она позволяет добавить содержимое в конец или начало родительской секции, не заменяя её полностью. Если дочерний шаблон определяет секцию, которая уже существует в родителе, содержимое родительской секции будет заменено. Директива parent даёт возможность получить доступ к оригинальному содержимому родительской секции и дополнить его.

Синтаксис

@parent

Пример

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

<html> <head> <title>Мой сайт</title> </head> <body> @yield('content') </body> </html>

Теперь расширим этот макет в дочернем шаблоне:

@extends('layout') @section('content') <h1>Заголовок страницы</h1> <p>Основное содержимое страницы.</p> @endsection

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

<html> <head> <title>Мой сайт</title> </head> <body> <h1>Заголовок страницы</h1> <p>Основное содержимое страницы.</p> </body> </html>

Пример

Давайте используем директиву parent для добавления содержимого к родительской секции:

<html> <head> <title>Мой сайт</title> </head> <body> @section('content') <p>Это содержимое по умолчанию.</p> @show </body> </html>

Теперь в дочернем шаблоне добавим содержимое к родительской секции:

@extends('layout') @section('content') <h1>Заголовок страницы</h1> @parent <p>Дополнительное содержимое.</p> @endsection

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

<html> <head> <title>Мой сайт</title> </head> <body> <h1>Заголовок страницы</h1> <p>Это содержимое по умолчанию.</p> <p>Дополнительное содержимое.</p> </body> </html>

Пример

Давайте используем директиву parent для добавления содержимого в начало секции:

<html> <head> <title>Мой сайт</title> </head> <body> @section('content') <p>Основное содержимое.</p> @show </body> </html>

В дочернем шаблоне добавим содержимое в начало родительской секции:

@extends('layout') @section('content') <p>Дополнительное содержимое в начале.</p> @parent @endsection

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

<html> <head> <title>Мой сайт</title> </head> <body> <p>Дополнительное содержимое в начале.</p> <p>Основное содержимое.</p> </body> </html>

Пример

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

<html> <head> <title>Базовый сайт</title> </head> <body> @section('content') <p>Базовое содержимое.</p> @show </body> </html>

Создадим промежуточный шаблон:

@extends('base') @section('content') <p>Промежуточное содержимое.</p> @parent @endsection

Создадим дочерний шаблон:

@extends('middle') @section('content') <p>Дочернее содержимое.</p> @parent @endsection

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

<html> <head> <title>Базовый сайт</title> </head> <body> <p>Дочернее содержимое.</p> <p>Промежуточное содержимое.</p> <p>Базовое содержимое.</p> </body> </html>

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

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