【问题标题】:Best way to insert footer on certain pages Laravel在某些页面上插入页脚的最佳方法 Laravel
【发布时间】:2021-06-22 07:54:43
【问题描述】:
我在 app.blade.php 中添加了页脚组件
@if(!isset($noFooter))
@include('footer/full')
@endif
如您所见,if 检查变量是否存在。如果是,则插入页脚。我认为这是一种不好的做法,我想知道如何才能使它变得更好。
我想在除少数页面之外的所有页面上显示页脚,例如登录/注册页面、我的帐户页面等。
所以此时我只是将控制器中的这个变量$noFooter 传递给我不想要页脚的路由。你知道更好的方法吗?
【问题讨论】:
标签:
laravel
laravel-blade
laravel-8
【解决方案1】:
您可以通过检查当前 url usign \Route facade 来实现这一点。下面的代码可能会对您有所帮助:
@if(in_array(\Route::currentRouteName(),['login', 'register']))
@include('footer/full')
@endif
【解决方案2】:
不确定是否有不好的做法,但如果有条件,某处就会有“如果”。
您提到只有少数页面不会显示页脚,您可以检查当前页面是否在列表中。
@php
$pageList = collect(['login', 'register']);
@endphp
@if(!$pageList->contains(request()->path()))
@include('footer/full')
@endif