Laravel 5,从 Blade 视图获取 HTTP 状态代码

Laravel 5, get the HTTP status code from Blade view

我正在对 resources/views/errors 中的 blade 个文件使用自定义错误视图。我的错误视图是由与普通页面相同的模板视图制成的,因此它们扩展了我的 frontoffice 布局。这是我的模板的层次结构。

app.blade.php
    layout.frontoffice.blade.php
        someFrontOfficePage.blade.php
        404.blade.php

导航栏组件包含在 layout.frontoffice.blade.php 中,因此我无法从 404.blade.php 访问它。需要说明的是,导航栏是一个 component as described here,因此位于另一个文件中。

问题: 我想在错误视图中隐藏导航栏中的链接而不是导航栏本身(例如 404.blade.php)。我的想法是检查导航栏组件中的状态代码是否与 200 不同,但我不知道如何从 blade 文件访问响应。

我宁愿这样做而不是 copy-pasting 我的导航栏在新的错误模板中以避免冗余。

好吧,我曾经遇到过同样的问题,解决方法很简单,在错误 404 blade 中,您使用 extends('layouts.frontoffice') 对吗?然后你可以将一个变量传递给这个扩展,extends('layouts.frontoffice', ['code' => 404]) 和你的导航栏组件:

@if(isset($code) && $code == 404)
//do something
@else
//do something else
@endif