如何在Symfony2中覆盖单个路由?
我有一个附带 bundle_routing.yml
文件的捆绑包
在扩展此父包的包中,我也有路由文件:
的 routing.xml
请注意,文件名称不同。
在此路由文件中,我想覆盖单个父路由 我试着简单地重新声明它并改变模式 但它没有应用。
父:
MyParentBundle_detailpage:
pattern: /detail
defaults: { _controller: "MyParentBundle:Item:detail" }
孩子:
<route id="MyParentBundle_detailpage" pattern="/itemDetails">
<default key="_controller">MyParentBundle:Item:detail</default>
</route>
答案 0 :(得分:13)
自己找到原因: 这是因为主路由文件中的导入顺序。
app/config/routing.yml
必须首先导入父路由,并且必须先导入子捆绑的路由。
MyParentBundle:
resource: "@MyParentBundle/Resources/config/bundle_routing.yml"
prefix: /
MyChildBundle:
resource: "@MyChildBundle/Resources/config/routing.xml"
prefix: /