[英]Different headers in different views (Blade template, Laravel)
我使用Laravel的Bladetemplate。 有没有一种方法可以在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
如果要为不同的视图包括不同的标题模板,则无需在布局中包括任何内容。 相反, 请将适当的标题模板包含在视图的单独部分中 ,然后在主模板中显示该部分 :
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
这样,您的每个视图都将不同的标题模板包括在标题部分中,稍后将在主布局中使用@yield('header')显示这些模板。
在您的主要布局中
<title>@yield('title','Home')</title>
然后在您看来只需致电
@section('title','My View 1')
@section('title','My View 2')
如果未定义,则yield中的第二个参数是默认值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.