将变量传递给本地化路由 - Laravel 5.2

时间:2016-09-01 07:25:15

标签: php laravel laravel-5.2 laravel-localization

使用以下包:laravel-localization

我正在翻译路线并按照步骤操作,它们都适用于没有变量的路线,但我仍然坚持如何在视图中发送变量。

在我的观点中链接:

<a href="{{ LaravelLocalization::localizeURL(trans('routes.account-edit')) }}"> Edit Link</a>
在Lang / fr&amp ;;里面的

routes.php文件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 个答案:

答案 0 :(得分:1)

我自己没有使用该库,但根据github repo的代码,方法localizeURL$url$locale作为参数,这意味着传入像你这样的第二个参数肯定不会起作用。

您可以尝试使用方法getLocalizedURL吗?

LaravelLocalization::getLocalizedURL(null, trans('routes.account-edit'), ['id' => $user->id])