我想从父布局检查孩子是否推送了什么。
与我使用hasSection方法检查View::hasSection('section-name')
的方式相同。我正在寻找类似的东西:hasStack
。
目的是:
@if(/* has stack 'foo' */)
<div id='foo'>
@stack('foo')
</div>
@endif
最好的方法是什么?
[注意]我正在处理Laravel 5.4
答案 0 :(得分:0)
我正在使用 Laravel 7 和以下工作来检查推送的内容:
@if($__env->yieldPushContent('foo'))
<p>There is something in the "foo" stack.</p>
@endif
您可以将其放入 custom blade directive:
Blade::if('hasStack', function($stackName) {
return !empty(view()->yieldPushContent($stackName));
});
并像这样使用它:
@hasStack('foo')
<p>There is something in the "foo" stack.</p>
@endhasStack
请注意 - @end 部分不会将指令名称驼峰式命名,因此它是 @endhasStack,而不是 @endHasStack。