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

发布于 2024-09-01 23:56:55 字数 628 浏览 7 评论 0原文

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

在我的 plugins/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) 中,我想定义一个具有人类含义的绝对 URL 我想做这样的路由:

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

显然,我的语法不正确!

Developping a plugin, I have a routing.yml in my plugin dir, specifying a route with sfPropelRoute.

in my plugins/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]

it works fine.

But, in my app (apps/myapp/config/routing.yml), I want define an absoulute URL, with human meaning
I want to do a routing like this :

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

Obviously, my syntax is not the right one !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

荆棘i 2024-09-08 23:56:55

我认为 sfRoute 中没有 route 参数。

您可能想为该特定 URL 编写 RewriteRule:

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

I don't think there is a route parameter in sfRoute.

You might want instead to write a RewriteRule for that particular URL:

RewriteEngine On
RewriteRule ^/my-super-profile$ /myurl/1 [L,QSA]
东风软 2024-09-08 23:56:55

作为记录,我更改了方法(避免 URL 重写),现在使用 slug。

在我的 plugins/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]

For the record, I change my method (avoiding the URL rewriting) and I now use a slug.

in my plugins/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]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文