Передача переменной в маршрут локализации - Laravel 5.2
Используя следующий пакет: https://github.com/mcamara/laravel-localization.
Я перевожу маршруты и следую инструкциям, все они отлично работают для маршрутов без переменных, но я застрял на том, как я должен отправлять свои переменные в моих представлениях.
Ссылка на мой взгляд:
<a href="{{ LaravelLocalization::localizeURL(trans('routes.account-edit')) }}"> Edit Link</a>
Файлы router.php внутри Lang/fr & Lang/nl
<?php
return [
'account-edit' => "account/wijzig-gegevens/{id}",
];
<?php
return [
'account-edit' => "donnees/modifier-donnees/{id}",
];
Файл маршрутов Laravel:
Route::group([
'prefix' => LaravelLocalization::setLocale(),
'middleware' => ['localize','localeSessionRedirect', 'localizationRedirect' ]
], function()
{
Route::get(LaravelLocalization::transRoute('routes.account-edit'),'AccountController@edit');
});
Я попытался просто добавить его в маршрут как массив, как показано ниже, но я не могу заставить его работать.
<a href="{{ LaravelLocalization::localizeURL(trans('routes.account-edit'), ['id' => $user->id]) }}"> Edit Link</a>
1 ответ
Решение
Не сам использую библиотеку, но в соответствии с кодом на github repo, метод localizeURL
занимает в $url
а также $locale
как его параметр, что означает, что передача второго параметра, как вы, определенно не будет работать.
Можете ли вы попробовать использовать метод getLocalizedURL
?
LaravelLocalization::getLocalizedURL(null, trans('routes.account-edit'), ['id' => $user->id])