我在我的(Sylius)项目中使用JMSI8nRoutingBundle,一切进展顺利。
我刚刚切换到CMFRouting用于我的一些路由(主要是产品),但是当我启用JMS i8n路由时,这些路由无法正常工作,这是我在使用时遇到的错误{{ 1}}:
{{ path(product) }}
如果我禁用JMS i8n路由,那么CMF路由&经典的。
所以我的问题是:是否有一些具体要做的事情来制作JMS i8n路由& CMF路由一起工作?似乎JMS正在接管CMF,而不是一起做链。
奇怪的是,谷歌没有在这个主题上发现任何内容。
提前致谢。
答案 0 :(得分:2)
问题是JMSi18nBundle如何覆盖默认路由器: https://github.com/schmittjoh/JMSI18nRoutingBundle/issues/73
答案 1 :(得分:1)
以下分支帮助我,让JMSI18nRoutingBundle与Sylius一起工作:
https://github.com/ekyna/JMSI18nRoutingBundle/tree/symfony-cmf
在composer.json中注册自定义存储库:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/ekyna/JMSI18nRoutingBundle.git"
}
]
并引用" symfony-cmf"分支在"要求"块
"jms/i18n-routing-bundle": "dev-symfony-cmf"
这应该可以解决问题。
不要忘记在AppKernel.php中注册该包:
new \JMS\I18nRoutingBundle\JMSI18nRoutingBundle(),
并在config.yml中设置路由配置:
jms_i18n_routing:
default_locale: "de"
locales: [en, de]
strategy: prefix
最后运行"作曲家更新"在你的终端上。
更新
要使登录/注销正常工作,您可能希望在防火墙定义中使用Sylius路由。
我更新了#34; main"防火墙用这个" form_login"参数:
form_login:
provider: sylius_user_provider
login_path: sylius_user_security_login
check_path: sylius_user_security_check
failure_path: sylius_user_security_login
default_target_path: sylius_homepage
use_forward: false
use_referer: true
这些"退出"设置:
logout:
path: sylius_user_security_logout
target: sylius_homepage