在另一个包含中更改页面标题 - Laravel
Change page title inside another include - Laravel
我刚刚开始学习 Laravel 并且想知道如何进行以下操作。我给出代码再解释。
我有一个文件includes/head.blade.php
。此文件包含您在 <head>
中找到的内容。所以它包含 <title>@yield('title')</title>
如果我现在将此文件包含在一个页面中,让我们说 pages/about.blade.php
像这样 @include('includes.head')
,那么我如何使用此行修改嵌套在包含中的 <title>
@section('title', ' bout Us')
我想你可以像这样使用 @include
,检查这个 DOC。
@include('includes.head', ['title' => 'About Us'])
并且 title
应该打印为,
<title>{{ $title }}</title>
最佳实践
检查 laravel blade templating
功能,
您可以定义一个 master layout
,扩展您可以创建新视图的布局。就像在这个 DOC.
master.blade.php
<html>
<head>
<title>@yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
about.blade.php
@extends('master')
@section('title', 'About Us') // this will replace the **title section** in master.blade
//OR
//@section('title')
// About Us
//@endsection
@section('sidebar')
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection
如果您像 @include('includes.head')
一样包含 blade 文件,那么您不能在 head.blade.php
中执行 <title>@yield('title')</title>
。执行此操作的正确方法是在包含文件的同时传递值,例如:
@include('includes.head',['title'=>'About Us'])
并且在 head.blade.php
中你必须这样做:
<title>
@if(isset($title))
{{ $title }}
@endif
</title>
但是如果你 extends
heade.blade.php 那么你可以这样做:
head.blade.php
<title>@yield('title')</title>
about.blade.php
@extends('includes.head')
@section('title')
{{ "About Us" }}
@endsection
更多信息Check this
我刚刚开始学习 Laravel 并且想知道如何进行以下操作。我给出代码再解释。
我有一个文件includes/head.blade.php
。此文件包含您在 <head>
中找到的内容。所以它包含 <title>@yield('title')</title>
如果我现在将此文件包含在一个页面中,让我们说 pages/about.blade.php
像这样 @include('includes.head')
,那么我如何使用此行修改嵌套在包含中的 <title>
@section('title', ' bout Us')
我想你可以像这样使用 @include
,检查这个 DOC。
@include('includes.head', ['title' => 'About Us'])
并且 title
应该打印为,
<title>{{ $title }}</title>
最佳实践
检查 laravel blade templating
功能,
您可以定义一个 master layout
,扩展您可以创建新视图的布局。就像在这个 DOC.
master.blade.php
<html>
<head>
<title>@yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
about.blade.php
@extends('master')
@section('title', 'About Us') // this will replace the **title section** in master.blade
//OR
//@section('title')
// About Us
//@endsection
@section('sidebar')
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection
如果您像 @include('includes.head')
一样包含 blade 文件,那么您不能在 head.blade.php
中执行 <title>@yield('title')</title>
。执行此操作的正确方法是在包含文件的同时传递值,例如:
@include('includes.head',['title'=>'About Us'])
并且在 head.blade.php
中你必须这样做:
<title>
@if(isset($title))
{{ $title }}
@endif
</title>
但是如果你 extends
heade.blade.php 那么你可以这样做:
head.blade.php
<title>@yield('title')</title>
about.blade.php
@extends('includes.head')
@section('title')
{{ "About Us" }}
@endsection
更多信息Check this