在我的Symfony 3.3项目中,我使用语言环境系统来更改用户语言。我已经配置了我的路由以允许'en'版本没有在URL中。
acme_front_office:
resource: "@AcmeFrontOfficeBundle/Resources/config/routing.yml"
prefix: /{_locale}
defaults: { _locale: 'en'}
requirements:
_locale: '|en|fr'
因此,这些网址会将所有网址重定向到同一页面:
/home
/en/home
/fr/home
但是在我的twig模板中,{{path()}}函数默认设置为正确的区域设置,除非当我的用户看到网站的英文版本时我希望生成的url转到/home
而不是/en/home
。
如果您在不更改所有path()
调用以覆盖_locale参数的情况下了解如何执行此操作,我将非常感激。
祝你有个美好的一天;)
答案 0 :(得分:1)
因此,经过一番挖掘,我提出的解决方案是重写Symfony Routing系统的某些部分。如果要检查解决方案,可以在Routing
目录中的以下gitlab repo中找到代码。