2015-12-02 30 views
-1

我正在开发一个扩展项目,需要支持多领域和多语言。如何在symfony2中设置多域多语言

我发现管理标准路由的方式并不能以项目所需的有效方式进行覆盖。

我发现这一点:https://github.com/alexandresalome/multisite-bundle

这是找到它不错,但我看到了以下缺点: 1)包还没有真正的大动静 2)路由设置在控制器/注释水平,而不是阳明海运的文件,是什么让项目难以维护。

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

+1

你想做的事是很容易的,总之,让几个virtualhosts指向symfony的应用程序,并在路由建立主机名条件 –

回答

0

这并不能解决问题。

这是我的情景:

我有一个参数,我设置了几台主机:landing_hosts,由“|”分隔

我有一些着陆,这仅适用于那些主机,路由:降落

当一个请求到来时,我看不到任何方式动态设置当前主机的默认=>主机条目。我不得不指定一个,即%domain%。这是以这种方式工作的,因为有一个缓存文件appDevUrlGenerator.php在首次访问网站时创建,或者运行命令app/cache cache:clear。

如果我以host2身份访问登录页面,树枝模板内部创建的URL和路径将跟随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%