Laravel blade - 如果满足条件,则添加一个类

时间:2014-04-30 08:11:21

标签: php laravel laravel-4 blade

这很简单,但我似乎无法用刀片做到这一点,我通常会回到php,但是,因为我不能用刀片声明一个新的php变量(不打印)它,即如果满足某个条件,我应该如何更改一个简单的类名?以这个链接为例,我只想添加一个类" active" if $ hostess-> active = 1

 {{ HTML::linkRoute('hostesses.index', 'Archived', $params, array('class' => 'btn btn-default')) }}

我知道如何用php做到这一点,但是如何用刀片完成​​呢?

4 个答案:

答案 0 :(得分:10)

你可以这样做:

// App/Http/routes.php
Route::get('foo/bar', 'FooController@bar);


//Your blade file
<li class="{{ Request::path() ==  'foo/bar' ? 'active' : ''  }}">
                        <a href="{{ url('foo/bar') }}"></i> Bar</a>
                    </li>

答案 1 :(得分:6)

这样的东西?

{{ HTML::linkRoute('hostesses.index', 'Archived', $params, array('class' => $hostess->active ? 'btn btn-info' : 'btn btn-default')) }}

答案 2 :(得分:2)

这里有一个更清晰的方法来做到这一点。哪个应该与路线名称匹配。

request()->routeIs('admin.cities')

答案 3 :(得分:1)

还有另一个选择:

<li class="@if(Request::is('/')) is-active @endif">
    <a href="{{ route('index') }}">Home</a>
</li>