在Blade中嵌套部分

时间:2018-01-24 14:40:00

标签: laravel blade laravel-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 (faq页面的实现)

@extend('website.blade.php')

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

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

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

1 个答案:

答案 0 :(得分:1)

没关系,这 可能 这是我的编辑(PhpStorm),这让我烦恼。您 CAN 彼此嵌套@section并在扩展模板中覆盖/重新定义它们^^

W00000t