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

В Laravel шаблоны Blade являются мощным инструментом для организации и отображения контента на веб-страницах. Они позволяют разным шаблонам наследовать и расширять функциональность других шаблонов. Если вы хотите скрыть часть контента из материнского шаблона, вы можете использовать директиву @section.

Чтобы скрыть часть контента из материнского шаблона, вам нужно создать новую секцию в дочернем шаблоне, в которой будет содержаться контент, который вы хотите скрыть. Затем, в материнском шаблоне, вы можете использовать директиву @show, чтобы определить, когда контент из дочернего шаблона будет отображаться.

Вот пример, как можно скрыть часть контента из материнского шаблона:

Материнский шаблон (parent.blade.php):

<html>
<head>
    <title>Материнский шаблон</title>
</head>
<body>

    <header>
        <h1>Заголовок страницы</h1>
    </header>

    <div class="content">
        @yield('content')
    </div>

</body>
</html>

Дочерний шаблон (child.blade.php):

@extends('parent')

@section('content')
    <h2>Дополнительный контент</h2>

    <div class="hidden-content">
        <p>Этот контент будет скрыт в материнском шаблоне</p>
    </div>
@endsection

Теперь, если вы используете дочерний шаблон child.blade.php, то все содержимое секции @section('content') будет отображаться в материнском шаблоне вместо @yield('content'). Однако, чтобы скрыть часть контента div.hidden-content из материнского шаблона, вам нужно использовать @section и @show следующим образом:

@extends('parent')

@section('content')
    <h2>Дополнительный контент</h2>

    <div class="hidden-content">
        <p>Этот контент будет скрыт в материнском шаблоне</p>
    </div>

    @section('hidden-content')
        <style>
            .hidden-content {
                display: none;
            }
        </style>
    @show
@endsection

В данном примере мы используем дополнительную секцию @section('hidden-content') для определения стилей CSS, которые скрывают блок div.hidden-content. Затем, используем директиву @show, чтобы подключить эту секцию к материнскому шаблону.

Теперь, когда вы используете дочерний шаблон child.blade.php, блок div.hidden-content будет скрыт в материнском шаблоне, но остальной контент будет отображаться.