Php 没有默认区域设置的细枝路径
在我的symfony3.3项目中,我使用locale系统来更改用户语言。我已将路由配置为允许“en”版本不在url中Php 没有默认区域设置的细枝路径,php,symfony,routing,localization,twig,Php,Symfony,Routing,Localization,Twig,在我的symfony3.3项目中,我使用locale系统来更改用户语言。我已将路由配置为允许“en”版本不在url中 acme_front_office: resource: "@AcmeFrontOfficeBundle/Resources/config/routing.yml" prefix: /{_locale} defaults: { _locale: 'en'} requirements: _locale: '|en|fr' 因此,
acme_front_office:
resource: "@AcmeFrontOfficeBundle/Resources/config/routing.yml"
prefix: /{_locale}
defaults: { _locale: 'en'}
requirements:
_locale: '|en|fr'
因此,这些url将全部重定向到同一页面:
/home
/en/home
/fr/home
但是在我的小树枝模板中,{path()}}函数默认设置为正确的语言环境,除了当我的用户看到网站的英文版本时,我希望生成的url指向/home
,而不是/en/home
如果您知道如何在不更改所有的path()
调用以覆盖_locale参数的情况下实现这一点,我将非常感激
祝你今天愉快;) 经过一些挖掘,我提出的解决方案是重写Symfony路由系统的一些部分。如果您想检查解决方案,可以在下面的gitlab repo中的
路由
目录中找到代码