如何在symfony2中设置多域多语言

时间:2015-12-02 08:38:11

标签: symfony bundle locale multisite

我正在开发一个正在扩展的项目,需要支持多域和多语言。

我发现管理标准路由的方式并没有涵盖项目所需的有效方式。

我发现了这个:https://github.com/alexandresalome/multisite-bundle

它发现它很好但我看到了以下缺点:   1)捆绑没有太多运动   2)路由设置在Controller / annotation级别而不是yml文件,这使得项目难以维护。

您是否知道基于symfony2的任何捆绑/策略是否满足此需求?非常感谢!!!

1 个答案:

答案 0 :(得分:0)

这不能解决问题。

这是我的情景:

我有一个参数,我设置了几个主机:landing_hosts,用“|”

分隔

我有一些着陆,只对那些主机有效,路由:着陆

当请求到来时,我看不到任何方法动态设置当前主机的默认值=>主持人入场。

我被迫指定一个,即%domain%。这样做是因为有一个缓存文件appDevUrlGenerator.php是在第一次访问网站时创建的,或者运行命令app / cache cache:clear。

如果我作为host2访问目标网页,则在twig模板中创建的网址和路径将跟随hosts1而不是hosts2,这是无效的。

// parameters.yml

parameters:
    landing_hosts: host1|host2
    main_host: host1

// routing.yml

landings:
    host: "{hosts}"
    path:     /
    defaults: { _controller: FrontendBundle:Landings:index }
    requirements:
       hosts: %landing_hosts%
    defaults: 
      hosts: %main_host%