不同视图中的不同标题(Blade模板,Laravel)

时间:2017-10-28 15:40:57

标签: php laravel templates laravel-5 blade

我使用了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

2 个答案:

答案 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中的第二个参数是默认参数。