在Symfony的routing.yml中引用另一条路由?

时间:2010-05-17 09:15:36

标签: routing symfony1 propel

开发一个插件,我的插件目录中有一个routing.yml,用sfPropelRoute指定路由。

在我的插件/ myPlugin / config / routing.yml 中:

myplugin_test:
  url:   /myurl/:id
  class:   sfPropelRoute
  options: { model: myClass, type: object, method_for_criteria: selectAvailableObj }
  params: { module: mymodule, action: show }
  requirements:
    sf_method: [GET, POST]

它工作正常。

但是,在我的应用程序( apps / myapp / config / routing.yml )中,我想要定义一个具有人类意义的absoulute URL 我想做这样的路由:

my_profile:
  url:   /my-super-profile
  class: sfRoute
  params: { route: @myplugin_test, id: 1 }

显然,我的语法不正确!

2 个答案:

答案 0 :(得分:0)

我认为sfRoute中没有route参数。

您可能希望为该特定网址编写RewriteRule:

RewriteEngine On
RewriteRule ^/my-super-profile$ /myurl/1 [L,QSA]

答案 1 :(得分:0)

为了记录,我改变了我的方法(避免了URL重写),现在我使用了一个slug。

在我的插件/ myPlugin / config / routing.yml 中:

myplugin_test:
  url:   /myurl/:slug
  class:   sfPropelRoute
  options: { model: myClass, type: object }
  params: { module: mymodule, action: show}
  requirements:
    sf_method: [GET, POST]