我正在使用Laravel 4。我想在使用Laravel的Blade模板引擎时,在视图中的@if语句内访问当前URL,但我不知道如何做。
我知道可以使用类似于
有什么建议吗?
我知道可以使用类似于
<?php echo URL::current(); ?>
的方法来实现,但在@if Blade语句内部不可能这样做。有什么建议吗?
<?php echo URL::current(); ?>
的方法来实现,但在@if Blade语句内部不可能这样做。您可以使用Request::url()
获取当前URL,以下是示例:
@if(Request::url() === 'your url here')
// code
@endif
Laravel提供了一种方法来判断URL是否匹配一个模式
if (Request::is('admin/*'))
{
// code
}
查看相关文档以获取不同的请求信息:http://laravel.com/docs/requests#request-information
url()
现在返回一个builder实例。必须使用url()->current()
。 - Jeff Puckett@if (Request::path() != 'login')
。请注意,在“login”之前没有斜杠。 - Ryan您还可以使用Route::current()->getName()
来检查您的路由名称。
示例:routes.php
Route::get('test', ['as'=>'testing', function() {
return View::make('test');
}]);
查看:
@if(Route::current()->getName() == 'testing')
Hello This is testing
@endif
Route::is('testing')
->> 测试它不会工作
Route::is('test')
->> 测试它会工作
Route::current()->getName() == 'testing'
别名和URL是不同的。 - Naveen Singh raghuvanshiRoute::is()
是检查路由名称,而不是路径。 - HkanRoute::currentRouteName()
。 - Jeff PuckettRoute::is('foo.*)
或者Route::is('foo*')
。 - Hkan或许你应该尝试一下这个:
<li class="{{ Request::is('admin/dashboard') ? 'active' : '' }}">Dashboard</li>
要在 blade
视图中获取 当前URL
,可以使用以下方法:
<a href="{{url()->current()}}">Current Url</a>
因此,您可以使用以下代码进行比较:
@if (url()->current() == 'you url')
//stuff you want to perform
@endif
request()->getQueryString()
。这个函数和 url()->current()
结合使用非常有帮助,因为前者可以获取查询字符串,而后者则可以省略查询字符串。 - Spencer O'Reilly@if(url()->current() == '/admin/search-result'
我使用了这段代码,但它没有起作用? - Mahdi Safari@if(Request::is('admin/search-result'))
。 - Sagar Naliyapara我会这样做:
@if (Request::path() == '/view')
// code
@endif
'/view' 是 routes.php 中的视图名称。
=='public'
即可。 - Pathros== '/')
。 - JucamanRequest::url()
- 然后你就可以得到完整的URL。 - Derk Jan Speelman以下是帮助我在 Laravel 5.2 中使用 Bootstrap 激活导航类的内容:
<li class="{{ Request::path() == '/' ? 'active' : '' }}"><a href="/">Home</a></li>
<li class="{{ Request::path() == 'about' ? 'active' : '' }}"><a href="/about">About</a></li>
有点老了,但这在L5中仍然有效:
<li class="{{ Request::is('mycategory/', '*') ? 'active' : ''}}">
这个可以捕获 /mycategory 和 /mycategory/slug 两个路径。
{{ Request::is('clientes/*') ? 'active' : ''}}
。 - Alex AngelicoLaravel 5.4
全局函数
@if (request()->is('/'))
<p>Is homepage</p>
@endif
request()->routeIs('...')
。 - Lachezar Todorov您可以使用此代码获取当前URL:
echo url()->current();
echo url()->full();
我从Laravel文档中获得了这个。
url
。https//www.example.com/testurl?test
。echo url()->current();
Result : https//www.example.com/testurl
echo url()->full();
Result: https//www.example.com/testurl?test