没有默认语言环境的Twig路径

时间:2017-11-15 15:49:14

标签: php symfony routing localization twig

在我的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参数的情况下了解如何执行此操作,我将非常感激。

祝你有个美好的一天;)

1 个答案:

答案 0 :(得分:1)

因此,经过一番挖掘,我提出的解决方案是重写Symfony Routing系统的某些部分。如果要检查解决方案,可以在Routing目录中的以下gitlab repo中找到代码。

TranslateBundle Repo