使用blade,如果没有@yield的数据,可以显示默认值,如下所示:
@yield('section', 'Default Content');
但我真的想要显示一个视图而不是字符串文本。原因是我想将@yield
导航菜单放入布局中。大多数情况下导航菜单都是完全相同的,所以某种默认选项在这里应该是最佳的,但我想要一种覆盖菜单的方法。
有可能实现这个目标吗?
答案 0 :(得分:0)
要检查该部分是否存在,您可以使用:
array_key_exists('fooSection', View::getSections())
并检查该部分是否为空,您可以使用:
empty(View::getSections()['fooSection'])
例如:
@section('fooSection')
Foo
@stop
@section('barSection')
Bar
@stop
<h1>If Section Exists</h1>
@if (array_key_exists('fooSection', View::getSections()))
@yield('fooSection')
@else
@yield('barSection')
@endif
<h1>If Section isn't Empty</h1>
@if (!empty(View::getSections()['fooSection']))
@yield('fooSection')
@else
@yield('barSection')
@endif
希望这有帮助。