在 Blade 中嵌套部分

Nesting sections in Blade

我正在研究 Blade 如何实现 @section,但它的工作方式与我习惯使用 Twig 时略有不同。看来你们不能互相嵌套@sections。

示例:

_layout.blade.php(基本布局文件)

<html>

    //favicons
    //meta content
    //other basic shizzle

    <head>
        <title>overal</title>
    </head>

    <body>
        @yield('body_content')
    </body>

</html>

website.blade.php(具体实现)

@extend('_layout.blade.php')

@section('body_content')

    <div class="">
        website-header
    </div>

    <div class="main">

        @section('navigation')
            <nav>website navigation</nav>
        @endsection

        <div class="website">

            {-- the actual content --}
            @yield('content')

        </div>

    </div>

@endsection

blog.blade.php(博客页面的实现)

@extend('website.blade.php')

@section('content')
    blog-items
@endsection

faq.blade.php(常见问题页面的实现)

@extend('website.blade.php')

{{-- we don't want the navigation here or want something different --}}
@section('nav')@endsection

@section('content')
    faq-items
@endsection

而且我无法使用@includes 解决它,因为我希望能够灵活地确定子视图中的子子部分并覆盖它们的内容。

没关系,这可能的 困扰我的是我的编辑器 (PhpStorm)。您 可以 将 @section 彼此嵌套并 overwrite/redefine 它们在扩展模板中 ^^

W00000t