Laravel blade 模板产量 child

Laravel blade template yield in child

我有这样的主布局:

<head>
    @yield('styles')
</head>

<body>

    @include('header')
    <div class="container-fluid">
        @yield('content')
    </div>
    @yield('scripts')
</body>

现在我的页面内容结构如下:

@section('content')
    <div class="page-content">
         @include('sidebarandfooter')
    </div>
@endsection
@section('copyright')
    @include('copyrightv2')
@endsection

Sidebarandfooter.blade.php 有以下内容:

 ...[CODE for sidebar]...
 @yield('copyright')

它应该在 <div class="container-fluid"></div> 中调用,因为我为不同的页面设置了不同的 class 或 div container。 我无法提供版权部分。我对不同的页面有不同的版权部分。是不是错了,我们怎么能这样执行?

像这样更改您的主布局

<head>
    @yield('styles')
</head>

<body>

    @include('header')
    <div class="container-fluid">
        @yield('content')
    </div>
    @yield('copyright')
    @yield('scripts')
</body>

因为我在您的 master 布局中没有看到 section 版权

不幸的是,您声明它的方式是不可能的,因为本节:

@section('copyright')
    @include('copyrightv2')
@endsection

在您调用此之前已加载:@include('sidebarandfooter'),其中包含 copyright 部分。

你可以做的是传递一个键作为参数来查看包含的页面内容部分,如下所示:

@section('content')
    <div class="page-content">
         @include('sidebarandfooter', ['copyrightsView' => 'copyrightv2'])
    </div>
@endsection

然后在 include:

中调用 Sidebarandfooter.blade.php
...[CODE for sidebar]...
@include($copyrightsView)