我有一个"EN“按钮和"FR”按钮。用于转换语言。到目前为止,我一直试图这样说:
1.
<a href='{{ route(\Illuminate\Support\Facades\Route::currentRouteName(), 'en') }}
但我得到了一个错误: ErrorException (E_ERROR)路由[]未定义。
2.
I tried this `<li><a href='{{ Request::url() }}' id="first" class="Mytitle">EN</a></li>`
这只会给你当前的网址
{{ url(app()->getLocale() . Request::url() ) }}
当你按下什么都没发生
处理URL的正确方法是什么?
我想要当前的URL和地区语言。
从…
www.mydomain.com/en/services
至
www.mydomain.com/fr/services
记住我在routes.php 'prefix'=>'{locale}'
发布于 2019-03-20 02:57:14
这应该能帮到你。
在您的web.php文件中,我假定您已经为路由设置了名称。
Route::group(['prefix' => '{locale}'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});
现在,在你的刀片上,它应该是这样的..
<a href="{{ route('your-route-name', 'en') }}">EN</a>
你用另一种方式写的。您可以获得有关如何在刀片视图中使用route
方法的更多信息。航路记录法
更新1:
如何添加网址的其他部分?
Route::group(['prefix' => '{locale}/SERVICES'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});
关于页面翻译,我不知道您的应用程序在做什么。所以,我至少可以帮上忙。
是的,在某种程度上使用url(/en)
是正确的。但是,您必须更新所有的视图文件。使用route()
,您必须只更新一次web.php文件。您不需要更新视图文件,因为您使用的是route
方法,而Laravel足够聪明,可以用适当的参数替换链接。
要了解更多信息,我建议您通过路由文档。这将使您更深入地了解route
与url
的区别。
发布于 2019-03-20 02:54:08
如果语言是静态的,则只需:
<li><a href="/en/{{ Request::path() }}" id="first" class="Mytitle">EN</a></li>
https://stackoverflow.com/questions/55258957
复制