我正在使用route :: auth()来验证用户登录/注销 . 但是当我通过这篇文章撰写本地化时https://laracasts.com/discuss/channels/tips/example-on-how-to-use-multiple-locales-in-your-laravel-5-website
我没有正确的方法,当我通过在AuthController中使用$ redirectPath注销时,它会重定向到'/' . 我可以将它配置为'/ en',但它是硬编码 . 我希望它重定向到当前的语言环境(在登录/注销之前) . 示例:当前路径为:localhost:8888 / fr / user,然后注销后为localhost:8888 / fr / login,如您所见,它是自动的,而不是我可以配置的硬代码 .
谢谢,
3 回答
假设您的当前语言环境在config / app.php中设置 .
您可以使用
config('app.locale');
从配置中获取您的语言环境 .然后,您可以在redirect()中使用该值,或者将
$redirectPath
值设置为运行时的值 .你可以做一个解决方法 . 将
$redirectPath
设置为'login'并从那里重定向到当前区域设置:在你的控制器中:
$redirectPath = '/login';
在 routes.php 中:
我找到了问题的答案 .
我在用户表名称'lang'中添加了一列,并设置了fallback_locale =>'en';
登录成功后,我加载此列并将其设置为fallback_locale,如果用户没有lang(== null),则locale将成为fallback_locale .
如果有任何问题,您可以通过电子邮件viethuong2072000@gmail.com与我联系