开发一个插件,我的插件目录中有一个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 }
显然,我的语法不正确!
答案 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]