Symfony分支模板链接到更改的前缀


Symfony twig template link to changed prefix

Symfony2中是否有任何方法可以将链接(放在树枝模板中),从而更改app/config/routing.yml中设置的prefix?例如,这是我的app/config/routing.yml文件:

    acme_main:
    resource: "@AcmeMainBundle/Resources/config/routing.yml"
    prefix:   /{_locale}/
    requirements: 
        _locale: |en|fr|de

我想插入3个链接,这些链接应该更改语言环境(这是关于翻译的,但没关系,让我们一般关注prefix)。我该怎么做?我试过这种

<a href="{{ path('route_x') }}"><img src="{{ asset('path/path/path/some_flag.jpg') }}"></a>

其中route_x是在特定捆绑包的routing.yml中定义的路由,但我无法理解它的工作原理。从这个级别prefix是不可触摸的。有什么办法吗?还是我做错了?请帮忙!:)

您可以在path函数中显式设置_locale

{{ path('route_x', {_locale: ''}) }}

并将其设置为_locale的默认值,则它将不会出现在生成的URL中。