Php 获取当前URL+&引用;";内置定制按钮拉维刀片
我有一个“EN”按钮和“FR”按钮。用于交换语言。 到目前为止,我试着这样说: 一,Php 获取当前URL+&引用;";内置定制按钮拉维刀片,php,laravel,routes,url-routing,laravel-blade,Php,Laravel,Routes,Url Routing,Laravel Blade,我有一个“EN”按钮和“FR”按钮。用于交换语言。 到目前为止,我试着这样说: 一, ` 这只能获取当前url 这也不起作用: {{url(app()->getLocale().Request::url())} 当你按下按钮时,什么也没发生 处理URL的正确方法是什么 我希望当前URL使用区域设置语言,例如from www.mydomain.com/en/服务 到 www.mydomain.com/fr/服务 请记住,我在routes.php中有prefix=>{locale}如果语言是静
`
这只能获取当前url
{{url(app()->getLocale().Request::url())}
from
www.mydomain.com/en/服务
到
www.mydomain.com/fr/服务
请记住,我在routes.php中有prefix=>{locale}如果语言是静态的,您可以执行以下操作:
如果语言是静态的,您可以执行以下操作:
这应该能帮到你
在web.php文件中,我假定您已经为路由设置了名称
Route::group(['prefix' => '{locale}'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});
现在,在你的刀片看来,应该是这样的
<a href="{{ route('your-route-name', 'en') }}">EN</a>
关于页面翻译,我不知道你的应用程序在做什么。所以,我至少可以帮上忙
是的,您使用url(/en)
在一定程度上是正确的。但是,您必须更新所有视图文件。使用route()
,只需更新web.php文件一次。您不需要更新视图文件,因为您正在使用方法route
,并且Laravel足够聪明,可以用适当的参数替换链接
欲了解更多信息,我敦促您仔细阅读。这将让您更深入地了解
路线
与url
的不同之处,这将对您有所帮助
在web.php文件中,我假定您已经为路由设置了名称
Route::group(['prefix' => '{locale}'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});
现在,在你的刀片看来,应该是这样的
<a href="{{ route('your-route-name', 'en') }}">EN</a>
关于页面翻译,我不知道你的应用程序在做什么。所以,我至少可以帮上忙
是的,您使用url(/en)
在一定程度上是正确的。但是,您必须更新所有视图文件。使用route()
,只需更新web.php文件一次。您不需要更新视图文件,因为您正在使用方法route
,并且Laravel足够聪明,可以用适当的参数替换链接
欲了解更多信息,我敦促您仔细阅读。这将让您更深入地了解
路由
与url
的不同之处,这是一个很好的建议,但Request::url()的问题是它只将url添加到当前url中,如下所示:。mydomain.com/fr/serviceshmydomain.com/en/services所以我认为Request::url()不是这里的解决方案。你是对的,我的错,Route::path()
是你想要的,我更新了我的答案,但仍然在url中添加了路径。这不是一个好的解决方案。您是否在href开头添加了前导的/
,或者设置了baseUrl?您必须单击4次,然后查看发生了什么好的建议,但Request::url()的问题是它只将url添加到当前url,如下所示:。mydomain.com/fr/serviceshmydomain.com/en/services所以我认为Request::url()不是这里的解决方案。你是对的,我的错,Route::path()
是你想要的,我更新了我的答案,但仍然在url中添加了路径。这不是一个好的解决方案。您是否在href开头添加了前导的/
,或者设置了baseUrl?您必须单击4次,然后查看发生了什么,但如何添加url的其他部分?en/SERVICES?此解决方案与:{{url('/en')}}@RogaMen检查更新1此按钮位于导航栏中。。。所以它需要对所有链接都是可变的。现在,当我点击EN按钮时,只会更改“主页”。如果我在其他页面上,例如/services,尝试从FR单击到EN,它也会将我重定向到“主页”页面。但是如何添加url的其他部分呢?en/SERVICES?此解决方案与:{{url('/en')}}@RogaMen检查更新1此按钮位于导航栏中。。。所以它需要对所有链接都是可变的。现在,当我点击EN按钮时,只会更改“主页”。如果我在其他页面上,例如/服务,并尝试从FR单击到EN,它也会重定向我的“主页”。
Route::group(['prefix' => '{locale}/SERVICES'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});