我使用了Laravel的Bladetemplate。有没有办法为master.blade.php中只有一个include的不同视图设置不同的标题?
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
答案 0 :(得分:2)
如果您想为不同的视图添加不同的标题模板,无需可以在您的布局中包含任何内容。相反,在视图的单独部分中包含正确的标题模板,然后在主模板中显示该部分:
<强> 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('标题')在主布局中显示这些模板。< / p>
答案 1 :(得分:0)
在主布局中
<title>@yield('title','Home')</title>
然后在您的意见中,只需致电
@section('title','My View 1')
@section('title','My View 2')
如果未定义,yield中的第二个参数是默认参数。