繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM