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

Директива stack

Директива stack применяется в Blade-шаблонах для вывода содержимого стека, которое было ранее добавлено с помощью директив push или prepend. Первым параметром передаётся имя стека. Если стек содержит несколько элементов, они выводятся в порядке добавления.

Синтаксис

@stack('name')

Пример

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

<html> <head> <title>App</title> @stack('styles') </head> <body> @yield('content') @stack('scripts') </body> </html>

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

@extends('layouts.app') @section('content') <h1>Hello</h1> @endsection @push('scripts') <script> alert('Page loaded'); </script> @endpush

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

<html> <head> <title>App</title> </head> <body> <h1>Hello</h1> <script> alert('Page loaded'); </script> </body> </html>

Пример

Давайте поместим в стек несколько элементов и выведем их:

<html> <head> @stack('head') </head> <body> @yield('content') </body> </html>
@extends('base') @push('head') <meta name="description" content="page"> @endpush @push('head') <link rel="stylesheet" href="/css/style.css"> @endpush @section('content') <p>Content</p> @endsection

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

<html> <head> <meta name="description" content="page"> <link rel="stylesheet" href="/css/style.css"> </head> <body> <p>Content</p> </body> </html>

Пример

Давайте используем директиву prepend для добавления элемента в начало стека:

<html> <head> @stack('styles') </head> <body> @yield('content') </body> </html>
@extends('base') @push('styles') <link rel="stylesheet" href="/css/main.css"> @endpush @prepend('styles') <link rel="stylesheet" href="/css/reset.css"> @endprepend @section('content') <h1>Title</h1> @endsection

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

<html> <head> <link rel="stylesheet" href="/css/reset.css"> <link rel="stylesheet" href="/css/main.css"> </head> <body> <h1>Title</h1> </body> </html>

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

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