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

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

有什么建议吗?


当前回答

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

echo url()->current();

echo url()->full();

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

其他回答

有两种方法:

<li{!!(Request::is('your_url')) ? ' class="active"' : '' !!}>

or

<li @if(Request::is('your_url'))class="active"@endif>

最简单的方法是使用:Request::url();

但这里有一个复杂的方法:

URL::to('/').'/'.Route::getCurrentRoute()->getPath();

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

这是一种方法。

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

在Laravel中,另一种编写if和else的方法是使用path

 <p class="@if(Request::is('path/anotherPath/*')) className @else anotherClassName @endif" >
 </p>

希望能有所帮助

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

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