Передача переменной в маршрут локализации - 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])
Другие вопросы по тегам