0

我想继承一个包以仅覆盖一些布局部分,并带有主机名条件。

我的 www.site1.com 的“FirstBundle”已准备就绪。我在 MyApp/config/routing.yml 中配置了主路由

www_site1_com:
  resource: "@FirstBundle/Resources/config/routing.yml"
  prefix:   /

FirstBundle/Resources/config/routing.yml 包含我的完整路由。我需要为 SecondBundle 坚持相同的控制器和路由。

然后我创建了应该继承 FirstBundle 的 SecondBundle,但我真的不知道如何告诉路由坚持 www.site2.com 的 SecondBundle。

如果我在 SecondBundle.php 中添加 getParent 方法来强制继承:

class MyAppSecondBundle extends Bundle
{
  public function getParent()
  {
    return 'FirstBundle';
  }
}

我的 site1 总是显示继承的东西......我不知道如何强制只有 site2 坚持 SecondBundle 而不会影响 site1。

4

1 回答 1

1

从 symfony 2.2 开始,您可以根据主机名匹配路由:

mobile_homepage:
    path:     /
    host:     m.example.com
    defaults: { _controller: AcmeDemoBundle:Main:mobileHomepage }

homepage:
    path:     /
    defaults: { _controller: AcmeDemoBundle:Main:homepage }

查看文档

于 2013-07-05T14:44:40.450 回答