2011-09-29 271 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的重命名的路由文件。