不同视图中的不同 headers(Blade 模板,Laravel)
Different headers in different views (Blade template, Laravel)
我用的是Laravel的Bladetemplate。有没有办法为不同的视图设置不同的 header,并且 master.blade.php 中只包含一个视图?
master.blade.php
@include("elements.header")
@yield('content')
@section("footer")
@show
view.blade.php
@extends("layouts.master")
@section("title")
@stop
@section("content")
@include("elements.error")
@section("footer")
@include("elements.footer")
@stop
如果您想为不同的视图包含不同的 header 模板,不需要包含布局中的任何内容。相反,将适当的 header 模板包含在您的视图中的单独部分中,然后 在主模板中显示该部分:
master.blade.php
@yield('header')
@yield('content')
viewA.blade.php
@extends("layouts.master")
@section('header')
@include('headerA')
@stop
@section('content')
view content
@stop
viewB.blade.php
@extends("layouts.master")
@section('header')
@include('headerB')
@stop
@section('content')
view content
@stop
这样,您的每个视图都会在 header 部分中包含不同的 header 模板,这些模板稍后将在主布局中显示 @yield('header').
在你的主布局中
<title>@yield('title','Home')</title>
那么在你看来就叫
@section('title','My View 1')
@section('title','My View 2')
yield 中的第二个参数是默认值,如果 none 已定义。
我用的是Laravel的Bladetemplate。有没有办法为不同的视图设置不同的 header,并且 master.blade.php 中只包含一个视图?
master.blade.php
@include("elements.header")
@yield('content')
@section("footer")
@show
view.blade.php
@extends("layouts.master")
@section("title")
@stop
@section("content")
@include("elements.error")
@section("footer")
@include("elements.footer")
@stop
如果您想为不同的视图包含不同的 header 模板,不需要包含布局中的任何内容。相反,将适当的 header 模板包含在您的视图中的单独部分中,然后 在主模板中显示该部分:
master.blade.php
@yield('header')
@yield('content')
viewA.blade.php
@extends("layouts.master")
@section('header')
@include('headerA')
@stop
@section('content')
view content
@stop
viewB.blade.php
@extends("layouts.master")
@section('header')
@include('headerB')
@stop
@section('content')
view content
@stop
这样,您的每个视图都会在 header 部分中包含不同的 header 模板,这些模板稍后将在主布局中显示 @yield('header').
在你的主布局中
<title>@yield('title','Home')</title>
那么在你看来就叫
@section('title','My View 1')
@section('title','My View 2')
yield 中的第二个参数是默认值,如果 none 已定义。