@dch3

Как в дочернем шаблоне blade от laravel скрыть часть контента из материнского шаблона?

Уважаемые знатоки помогите советом.
Совсем отчаялся самостоятельно разобраться.

Есть родительский шаблон (главная страница), в который через директиву @includes включены разделы header и footer. В нем же подключены таблица стилей через и директива @vite для компиляции css и js.
В дочернем шаблоне - это страница аутентификации (наследует родительский через @includes) мне нужно убрать раздел header, который он тянет от родителя и при этом сохранить родительские стили css.

Пробовал следующий вариант:
В родительский шаблон добавил директиву @stack, а затем в дочернем через push подключил новую таблицу стилей, где прописал header { display: none;}. Результат - раздел header исчез и в дочернем и в родительском, что не подходит.

Подскажите как применить в дочернем шаблоне убрать блок кода разметки (раздел header) и при этом не затронуть родительский шаблон?646352f510279358707973.jpeg646353054b54f882097374.jpeg
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
layouts/base.blade.php
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    @hasSection('title')
        <title>@yield('title') :: {{ config('app.name') }}</title>
    @else
        <title>{{ config('app.name') }}</title>
    @endif
    @vite(['resources/sass/app.scss'])
    <meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body>
@yield('body')
@vite(['resources/js/app.js'])
@stack('scripts')
</body>
</html>


layouts/auth.blade.php
@extends('layouts.base')
@section('body')
    <div>
        @yield('content')
    </div>
@endsection


layous/app.blade.php
@extends('layouts.base')
@section('body')
    <div>
        <header>
            @include('partials.app.header')
        </header>
        <main>
            @yield('content')
        </main>
    </div>
@endsection


pages/login.blade.php
@extends('layouts.auth')
@section('content')
    <form>  </form>
@endsection


pages/home.blade.php
@extends('layouts.app')
@section('content')
    Главная
@endsection
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы