【问题标题】:Add locale to a route with slug [symfony2]使用 slug [symfony2] 将语言环境添加到路由
【发布时间】:2016-07-23 13:09:56
【问题描述】:

我正在尝试翻译我的网站页面,我使用了捆绑包JMSI18nRoutingBundle,但是当我尝试访问网站的某些页面时,我遇到了以下错误:

在渲染模板期间引发了异常 ("无法为命名路由 "page_slug" 生成 URL 路线不存在。”)在 SonataPageBundle:Block:block_container.html.twig 在第 15 行。

我注意到我的页面有一个存储在数据库中的内容块的错误。

我正在使用SonataPageBundleSonataBlockBundle 来编辑网站的某些页面。

这里下面 2 条路线给我的错误:

privacy_policy:
    path: /privacy_policy
    defaults:  {  _controller: FLYBookingsBundle:Default:privacypolicy }


product:
    pattern: /product/{id}
    defaults: { _controller: FLYBookingsBundle:Post:product }

.

<li><a href="{{ path('privacy_policy') }}">Privacy Policy</a></li>

【问题讨论】:

    标签: php symfony internationalization twig jms


    【解决方案1】:

    你可以阅读documentationhttp://jmsyst.com/bundles/JMSI18nRoutingBundle/master/usage

    <a href="{{ path("homepage", {"_locale": "de"}) }}">Deutsch</a>
    

    product:
        pattern: /{_locale}/product/{id}
        defaults: { _controller: FLYBookingsBundle:Post:product }
        requirements:
             _locale: en|fr
        defaults: { _locale: en }
    

    【讨论】:

    • 我刚刚尝试了您的示例,但仍然无法正常工作,我仍然遇到同样的错误。我在所有包含 sonataBlock 块的页面上都出现此错误。我正在使用奏鸣曲页面来编辑内容块。
    • 我也试过这样:&lt;li&gt;&lt;a href="{{ path('privacy_policy', {'_locale': app.request.attributes.get('_locale')}) }}"&gt;Privacy Policy&lt;/a&gt;&lt;/li&gt;,但仍然有同样的错误:(
    猜你喜欢
    • 2016-01-07
    • 2021-10-15
    • 2013-07-10
    • 2011-08-13
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    相关资源
    最近更新 更多