FOSJsRouting 未使用 JMS I18n 路由生成路由

问题描述 投票:0回答:1

我正在使用 PHP 7.2 开发 Symfony 4.4 项目,并且我正在使用以下捆绑包:

  • jms/i18n-routing-bundle

  • friendsofsymfony/jsrouting-bundle:2.5.4

问题

当我尝试使用

fos.Router.generate()
函数生成路线时,路线未按预期生成。它们带有特定于区域设置的前缀,例如
tr__RG__
en__RG__

例如,这是来自

fos.Router.setData()
的条目:

fos.Router.setData({
    "base_url": "/my-route",
    "routes": {
        "tr__RG__phone_services_ivr_request_listener": { ... }
    }
});

我跑的命令

为了生成 FOS 路由 JavaScript 文件,我使用了以下命令:

php bin/console fos:js-routing:dump --target=public/static/js/fos_routing.js

配置

这是我的 jms_i18n_routing.yaml 配置:

jms_i18n_routing:
  default_locale: '%env(LOCALE)%'
  locales: ['%env(LOCALE_TR)%', '%env(LOCALE_EN)%']
  strategy: custom
  redirect_to_host: false

错误输出

在控制台中,我收到如下错误:

router.min.js:1 Uncaught (in promise) Error: The route "search" does not exist.

截图

以下是一些屏幕截图以了解更多背景信息:

  • FOS路由路线:

    routes

  • 
      context_:
        base_url: ""
        host: ""
        locale: ""
        port: ""
        prefix: ""
        scheme: ""
        [[Prototype]]: Object
    
      routes_:
        [[Prototype]]: Object
        [[Prototype]]: Object
    
    

    控制台异常:

  • exception

  • 下面的错误是搜索路线的示例,我在它尝试生成的所有其他路线上都遇到相同的错误

  • router.min.js:1 Uncaught (in promise) Error: The route "search" does not exist.
    

预期结果

我希望生成的路由没有任何特定于区域设置的前缀(例如,

tr__RG__
en__RG__
),并且应该可以通过
fos.Router.generate()
函数访问它们,没有问题。

问题

任何人都可以帮助我理解为什么使用这些前缀生成路由以及如何删除或修复它们以正常工作

fos.Router.generate()

php symfony
1个回答
-1
投票

jms/i18n-routing-bundle
自 2021 年以来没有发布任何更改,因此您不妨将其视为未维护或废弃。

也许 Symfony 开箱即用地支持您需要的功能? 本地化路线(i18n)

© www.soinside.com 2019 - 2024. All rights reserved.