如何在 laravel 的剩余页面上隐藏消息?
How to hide message on the remaining pages in laravel?
我在主布局中包含以下模板 blade:
@if (Auth()->user()->verified == "0")
@include('common.verify-error')
@endif
那么,如何在除/test
、/out
之外的所有URL上显示@include('common.verify-error')
我应该在控制器中执行此操作还是在模板中执行简单的 if 条件?
首先,可能有几种不同的方法。就个人而言,我会按照中间件 class 的方式做一些事情......或者在视图中注入 class 等
但是,他是另一种可能更适合您需求的解决方案。
编辑: 进行了更改。我假设您使用命名路由(并且应该,如果您想更改 url 等。例如,您不必处理更改所有这些 if 语句)。
@if (Auth()->user()->verified == "0" && !Route::is('test') && !Route::is('out'))
@include('common.verify-error')
@endif
您可以使用 is()
掩码方法:
@if (auth()->user()->verified == 0 && !request()->is('test/*') && !request()->is('out/*'))
@include('common.verify-error')
@endif
我在主布局中包含以下模板 blade:
@if (Auth()->user()->verified == "0")
@include('common.verify-error')
@endif
那么,如何在除/test
、/out
@include('common.verify-error')
我应该在控制器中执行此操作还是在模板中执行简单的 if 条件?
首先,可能有几种不同的方法。就个人而言,我会按照中间件 class 的方式做一些事情......或者在视图中注入 class 等
但是,他是另一种可能更适合您需求的解决方案。
编辑: 进行了更改。我假设您使用命名路由(并且应该,如果您想更改 url 等。例如,您不必处理更改所有这些 if 语句)。
@if (Auth()->user()->verified == "0" && !Route::is('test') && !Route::is('out'))
@include('common.verify-error')
@endif
您可以使用 is()
掩码方法:
@if (auth()->user()->verified == 0 && !request()->is('test/*') && !request()->is('out/*'))
@include('common.verify-error')
@endif