2016-06-24 19 views
0

私はroute :: auth()を使ってユーザーのログイン/ログアウトを検証しています。しかし、私はこの投稿でローカライゼーションを書くときhttps://laracasts.com/discuss/channels/tips/example-on-how-to-use-multiple-locales-in-your-laravel-5-websiteローカライゼーションを認証(ログイン/ログアウト)に設定する方法Laravel?

正しい方法はありませんでしたが、AuthControllerで$ redirectPathを使ってログアウトすると '/'にリダイレクトされます。 私はそれを '/ en'に設定できますが、それはハードコードです。私はそれが現在のロケール(ログイン/ログアウト前)にリダイレクトしたい。 例: 現在のパスはlocalhost:8888/fr/userです。ログアウト後は表示されているようにlocalhost:8888/fr/loginです。

ありがとう、

答えて

0
:あなたの のroutes.php

$redirectPath = '/login';

:あなたのコントローラで

私の質問に答えが見つかりました。

ユーザテーブル名 'lang'にカラムを置き、fallback_locale => 'en'を設定します。

ログインが成功すると、私はこの列をロードしてfallback_localeに設定します。ユーザーにlang(== null)がない場合、ロケールはfallback_localeになります。

問題がある場合は、メールで連絡してください。[email protected]

-1

現在のロケールがconfig/app.phpに設定されているとします。

config('app.locale');を使用して、設定からロケールを取得できます。

そして、その値をredirect()で使用するか、実行時に$redirectPathという値を設定することができます。

0

回避策を実行できます。 $redirectPathにちょうど'ログイン'を設定し、そこから現在のロケールにリダイレクト:

Route::get('/login', function() { 
    return redirect('/' . App::getLocale(). '/login'); 
}); 
関連する問題