2011-09-29 195 views
1

在Symfony2(2.0.3)我有一个BetaBundle设置为AlphaBundle的父级。是否可以覆盖一些路线,同时仍然保留父原始路由定义?扩展包时扩展父路由

我已经尝试导入子routing.yml文件内的父路由.yml,但它自然导致circular reference异常。

是否有任何标准的方式来实现这个使用yml和文件名为routing.yml在相同的相对路径?

+0

将整个路由文件复制到你的子包并覆盖你想覆盖的路由是否是一个问题? –

+0

我希望能有更优雅的解决方案。其实并不是那么糟糕,但我很乐意看到另一种解决方案。 –

回答

2

当您重写AlphaBundle时,任何使用@AlphaBundle快捷键的内容都将首先在@BetaBundle中查找。我发现解决这类问题的唯一方法是使用@快捷方式使扩展束(BetaBundle)退出,并使用它的路径包含AlphaBundle的路线。

作为一种替代方法,您可以尝试重命名BetaBundle的路由文件,以便它不覆盖AlphaBundle的文件,然后配置您的app/config/routing.yml以包含BetaBundle的重命名的路由文件。