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
我正在对 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