我正在使用Laravel 4。我想使用Laravel的刀锋模板引擎在视图中访问@if条件内的当前URL,但我不知道如何做到这一点。

我知道可以使用<?php echo URL::current();但是在@if blade语句中是不可能的。

有什么建议吗?


当前回答

试试这个:

< class=“{{ Request::is('Dashboard') ? 'active' : '' }}”> <a href=“{{ url('/Dashboard') }}”> <i class=“fa fa-dashboard”></i> <span>Dashboard</span> </a> </li>

其他回答

试试这个:

@if(collect(explode('/',\Illuminate\Http\Request::capture()->url()))->last() === 'yourURL')
    <li class="pull-right"><a class="intermitente"><i class="glyphicon glyphicon-alert"></i></a></li>
@endif

你可以使用这段代码来获取当前URL:

echo url()->current();

echo url()->full();

这是我从Laravel的文件中得到的。

对于命名路由,我使用:

@if(url()->current() == route('routeName')) class="current" @endif

一个简单的引导导航条可以这样做:

    <li class="{{ Request::is('user/profile')? 'active': '' }}">
        <a href="{{ url('user/profile') }}">Profile </a>
    </li>

我个人不会尝试从视图中抓取它。我并不擅长Laravel,但我可以想象你需要将你的路由发送到一个控制器,然后在控制器中,将变量(通过数组)传递到你的视图,使用类似$url = Request::url();的东西。

这是一种方法。

编辑:实际上看看上面的方法,可能是更好的方法。