测试@yield值

时间:2018-04-08 17:27:06

标签: laravel blade laravel-5.6

我想在我的主模板中为我的某个组件添加一个类,但只在特定页面上添加。

有没有办法测试@ yield的值?

到目前为止,我对此进行了测试,但它无法正常工作(只要设置了网页名称,就会添加该类,无论其内容如何):

<div class="
    @hasSection('pagename') && @yield('pagename') == 'home'
        myclass
    @endif
">

1 个答案:

答案 0 :(得分:1)

您可以尝试@if指令和request()帮助器的组合。有点像:

@if(request()->routeIs('some-named-route')) {{ echo 'my-class' }} @endif

Extending blade将提供可重复使用的指令:

// AppServiceProvider.php
public function boot()
{
    Blade::if('custom', function ($route) {
        return request()->routeIs(route);
    });
}

// view.blade.php
@custom('some-route')
    'my-class'
@endcustom