【问题标题】:How To Add Title For Each Page In Laravel如何在 Laravel 中为每个页面添加标题
【发布时间】:2019-05-09 20:15:54
【问题描述】:
在我的 laravel 网站中,所有页面都有相同的标题元,但是如何为每个页面制作不同的标题请告诉我。
这是我在所有页面中动态显示的代码
<title>{{setting('site.title')}} | {{setting('site.description')}} @if(isset($data->title)) {{$data->title}} @endif</title>
文件名为layouts/app.blade.php
【问题讨论】:
标签:
laravel
laravel-5.6
laravel-blade
laravel-5.7
【解决方案1】:
在您的app.blade.php 中,
<head>
@yield('title')
... // other scripts
</head>
对于用户 app.blade.php 的其他页面,您可以在扩展 app.blade.php 后使用它:
@section('title')
<title> Your Page Title Here </title>
@endsection
希望对您有所帮助。快乐的编码。
【解决方案2】:
您可以为不同的视图指定不同的标题。
在你常用的头文件中,你的标题是这样的:
<title>@yield('page_title', 'Default Title')</title>
然后在您的视图文件中将标题更改为您希望通过以下方式设置的任何内容:
@section('page_title')
{{ "Your Title" }}
@endsection
【解决方案3】:
在您的app.blade.php 中,在头部。
改变:
<title>{{ config('app.name', 'Laravel') }}</title>
到:
<title>@yield('title')</title>
您可以选择任何合适的名称/头衔。
对于其他views.blade.php 页面,(扩展app.blade.php)您可以这样添加标题:
@section('title','My Title')
这是在@extends('layouts.app')之后发生的
【解决方案4】:
只需在您的 app.blade.php 中
把这个:@yield('title')
在其他页面只需扩展布局并将新标题放在本节
@extends('layoutWhateverYouNamedIt')
@section('标题')
在此处输入您的标题
@endsection
【解决方案5】:
在你的控制器中
public function aboutUs()
{
//page title
$title = 'Project | About Us';
return view('project.about_us', compact('title'));
}
用于您的查看页面
<title>{{ $title }}</title>