如何为 laravel 中的各个页面更改不同的 header

How to change different header for various pages in laravel

我需要调用不同的 header 来托管和关于下面提到的页面,在执行下面的代码时我收到错误 "Undefined class constant 'hosting'"。建议我如何解决这个问题并为不同的页面调用不同的 headers。

@if(Route::hosting == 'hosting')
{
  @include('partials.header');
}
@elseif(Route::About == 'About'){
   @include('partials.header1');
}
 @endif

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

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

你也可以避免使用另一个header 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
@if(Route::currentRouteName() == 'hosting') 

    @include('partials.header');

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

     @include('partials.header1'); 

@endif

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

看看这个答案:

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

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