如何在Laravel中为每个页面添加标题

时间:2018-12-08 06:21:03

标签: laravel laravel-5.6 laravel-blade laravel-5.7

在我的laravel网站中,所有页面具有相同的标题元,但是如何为每个页面创建不同的标题,请告诉我。

这是我在所有页面中动态显示的代码

<title>{{setting('site.title')}} | {{setting('site.description')}}  @if(isset($data->title)) {{$data->title}} @endif</title>

文件名为layouts/app.blade.php

5 个答案:

答案 0 :(得分:6)

在您的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')

之后

答案 1 :(得分:2)

您可以为不同的视图指定不同的标题。

在您的通用头文件中,使标题如下:

<title>@yield('page_title', 'Default Title')</title>

然后在视图文件中将标题更改为您想要通过以下方式设置的标题:

@section('page_title')
    {{ "Your Title" }}
@endsection

答案 2 :(得分:1)

在你的控制器中

    public function aboutUs()
    {
        //page title
        $title = 'Project | About Us';
        return view('project.about_us', compact('title'));
    }

用于您的视图页面

<title>{{ $title }}</title>

答案 3 :(得分:0)

在您的app.blade.php内,

<head> @yield('title') ... // other scripts </head>

对于其他使用app.blade.php的页面,您可以像扩展app.blade.php之后那样使用它:

@section('title') <title> Your Page Title Here </title> @endsection

希望有帮助。编码愉快。

答案 4 :(得分:0)

就在你的 app.blade.php 里面 把这个:@yield('title')

在其他页面中只需扩展布局并将新标题放在此部分

@extends('layoutWhateverYouNamedIt')

@section('标题') 在此处输入您的标题 @结束部分