如何在刀片中为多语言添加href路由



所以我在web.php 中创建了我的组

Route::redirect('/', '/it');
Route::group(['prefix' => '{locale}'], function () {

Route::get('/','HomeController@index');
Route::get('/business', 'BusinessViewController@index');
Route::post('business', 'BusinessViewController@store');
Route::get('/business/create', 'BusinessViewController@create');
Route::get('/business/{slug}', 'BusinessViewController@show');
Route::get('/contact', 'ContactController@index');
});

还创建了中间件SetLanguage.hp:

public function handle($request, Closure $next)
{
App::setLocale($request->segment(1));
URL::defaults(['locale' => $request->segment(1)]);
return $next($request);
}

我将中间件类添加到Kernal.php中的middlewareGroups-"web"现在,我应该如何在blade.php中添加href链接?

<a href="/business">{{__('common.list')}}</a>这一行没有使用正确的语言。

我不想要会话,我希望该语言在url中:www.weburl.com.**/en/**something

所以我找到了解决方案,即路由链接所需的内容。就像这样:

<a href="{{ route('contact', app()->getLocale()) }}">{{__('common.contact_us')}}</a> 

要做到这一点,你必须将名称添加到web.php中的Route中,如下所示:

Route::get('/contact', 'ContactController@index')->name('contact');

如果您不添加名称,它将显示Route not found。

相关内容

  • 没有找到相关文章

最新更新