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

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

有什么建议吗?


当前回答

与 Laravel 5.4 相关:

全局函数

@if (request()->is('/'))
    <p>Is homepage</p>
@endif

其他回答

与使用URL::path()来检查当前路径位置不同,您可能需要考虑Route::currentRouteName(),以便万一您更新了路径,您不需要再次浏览所有页面来更新路径名称。

这是帮助我在Laravel 5.2引导活动导航类:

<li class="{{ Request::path() == '/' ? 'active' : '' }}"><a href="/">Home</a></li>
<li class="{{ Request::path() == 'about' ? 'active' : '' }}"><a href="/about">About</a></li>

对我来说,这是最好的方法:

class="{{url()->current() == route('dashboard') ? 'bg-gray-900 text-white' : 'text-gray-300'}}"

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

这是一种方法。

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

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

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