我想在我的视图中构建一个链接,指向与放置它的那个页面相同的页面。我希望能够给出一个参数。
例如,我想更改语言。我有一条像
这样的路线domain.com/{lang}/xyz
在我看来,我想做一些像
这样的事情<a href="{{ URL::action(this, ['lang' => 'en']) }}">EN</a>
所以我可以轻松地重新加载页面,但只需更改&#34; lang&#34;参数。
希望它可以理解。请尽力帮助我。
(另一个问题:是否没有资源,例如Laravel中所有助手的列表?我在哪里知道哪些观察者可用?)
答案 0 :(得分:20)
使用laravel的帮助方法在视图中使用:
url()->current()
这将获得当前URL
。如果您需要获取当前路线名称,
Route::current()->getName()
现在您可以使用此路由名称来创建自己的新URL。
例如:
<a href="{{ URL::action(Route::currentRouteName(), ['lang' => 'en']) }}">EN</a>
您的路线定义可能类似于:
Route::get('/{lang}/about/', ['as'=>'about_us', 'uses'=>'PagesController@about'])
这将为您提供当前的URL。
但在你的情况下,最好将这个包用于多语言: https://github.com/mcamara/laravel-localization
它非常简单易用。