symfony 1.4基于插件内的url参数加载不同的routing.yml

时间:2011-10-06 17:00:56

标签: configuration routing load symfony-1.4 symfony-plugins

我有一个插件,我需要根据查询字符串中的变量加载不同的routing.yml文件。

示例:

if($request->getParameter('page'){
 // use routingPage.yml
}
else{
 // use another routing.yml
}

所以,如果url中的page参数url_for('@ route1')将返回一个url,否则相同的url_for('@ route1')将返回其他url。

如何覆盖rouing.yml加载机制来做我想做的事?

1 个答案:

答案 0 :(得分:0)

每个应用程序只能有一个 routing.yml(当然它可以被其他插件覆盖)。

原因很简单:如果你想使用多个路由文件(比如routing1.ymlrouting2.yml),它们都有一个名为route1的路由,它会重定向到分别为controller1/actioncontroller2/action。 也许您可以在视图中切换它,并转到一个案例中的controller1/action和另一个案例中的controller2/action。但是:当一个新请求到来时,前端控制器正在确定要执行哪个控制器/操作:现在如何使用routing.yml

所以我不确切地知道你想要实现什么,但我会在routing.yml中选择两条路线,并根据您的视图参数选择路线。