如何在laravel中更改各个页面的不同标题

Posted

技术标签:

【中文标题】如何在laravel中更改各个页面的不同标题【英文标题】:How to change different header for various pages in laravel 【发布时间】:2018-10-05 22:16:00 【问题描述】:

我需要调用不同的标题来托管和关于下面提到的页面,在执行下面的代码时,我收到错误为“未定义的类常量'托管'”。建议我如何解决这个问题并为各个页面调用不同的标题。

@if(Route::hosting == 'hosting')

  @include('partials.header');

@elseif(Route::About == 'About')
   @include('partials.header1');

 @endif

【问题讨论】:

【参考方案1】:

使用\Request::is()检查当前路线,不要在@if条件中使用...,如果只有两个条件@if...@else...@endif就足够了。

@if(\Request::is("hosting"))
  @include('partials.header');
@else
   @include('partials.header1');
@endif

你也可以避免使用另一个标题 partials.header1,如果没有太大区别。

将名为is_hosting 的变量作为true/false 传递并相应地显示内容..

@if(\Request::is("hosting"))
  @include('partials.header',["is_hosting"=>true]);
@else
  @include('partials.header',["is_hosting"=>false]);
@endif

内部partials.header

@if(isset($is_hosting) && $is_hosting) 
    header's content
@else
    header1's content
@endif

【讨论】:

【参考方案2】:
@if(Route::currentRouteName() == 'hosting') 

    @include('partials.header');

@elseif(Route::currentRouteName() == 'About')

     @include('partials.header1'); 

@endif

使用Route::currentRouteName()获取当前路由的名称。

【讨论】:

【参考方案3】:

看看这个答案:

How to get current route name in laravel 5?

我相信您对如何访问当前路线名称感到困惑。有几种方法可以访问当前路由:

Route::getCurrentRoute()->getPath();  // Route path
Request::route()->getName();  // Route Name
$request->path();  // URL

【讨论】:

以上是关于如何在laravel中更改各个页面的不同标题的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 Laravel 在控制器中发送邮件之前更改邮件配置?

如何从两个不同的 Laravel 查询构建器中获取我的两个结果集以同时显示在同一页面上?

Laravel 7 - 如何在登录时更改数据库?

如何在 Laravel 5 中登录时检查用户状态?

更改另一个刀片变量Laravel中的背景颜色

如何从 laravel 中的某个路由页面检索图像或文件?