Laravel 5,从Blade视图

时间:2018-03-23 13:49:41

标签: php laravel laravel-5.5 laravel-blade

我使用位于resources/views/errors的刀片文件的自定义错误视图。我的错误视图来自与普通页面相同的模板视图,因此它们扩展了我的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不同,但我不知道如何从刀片文件访问响应。

我更喜欢这样做,而不是在新的错误模板中复制粘贴导航栏以避免冗余。

1 个答案:

答案 0 :(得分:2)

我曾经遇到过同样的问题,解决方案很简单,在错误404刀片中使用extends('layouts.frontoffice')对吗?然后您可以将变量传递给此扩展程序extends('layouts.frontoffice', ['code' => 404])并在导航栏组件中传递:

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