【问题标题】:Links for routes with prefixes带前缀的路由链接
【发布时间】:2017-03-07 19:00:16
【问题描述】:

我正在使用最新的 Laravel 5.4。我的网站配置为使用德语和英语。例如,我有一个德语登录页面:

http://localhost/de/login

对于英语:

http://localhost/en/login

我所做的是创建了一个语言中间件,它查看 URI 的第一段(“en”或“de”)并根据第一段值设置正确的 app()->setLocale()。我正在努力解决的是如何为这些路线生成链接(正确/最佳实践)。我应该在刀片模板中使用什么功能来生成此类链接。我试过route('login', app()->getLocale()),但它给了我这样的东西:http://localhost/en/login?de。为什么会这样?我应该使用什么函数来生成指向命名路由和未命名路由的链接?

谢谢, Z

【问题讨论】:

  • 你真的不需要专门的语言环境附加路径。使用会话变量维护语言环境。

标签: laravel laravel-5.4


【解决方案1】:

试试这个:

Route::post('page/{locale?}', 'PageController@someMethod')->where(['locale' => 'de|en|es|fr|it|nl']);

看看,如果这行得通!

【讨论】:

  • 好的,让我删除可选解决方案。
猜你喜欢
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
  • 2017-06-09
  • 2015-03-08
相关资源
最近更新 更多