在Twig路径中添加多个参数

Wis*_*sem 101 symfony twig

如何在Twig路径中添加多个参数?
说你有这条路线:

article_show:
    pattern:  /article/{slug}
    defaults: { _controller: AcmeArticleBundle:Article:show }
Run Code Online (Sandbox Code Playgroud)

您可以在twig模板中执行此操作:

{{ path('article_show', { 'slug': article.slug }) }}
Run Code Online (Sandbox Code Playgroud)

但是如果你的路由文件中有这个怎么办:

_files_manage:
    pattern: /files/management/project={idproject}&user={iduser}
    defaults: { _controller: AcmeTestBundle:File:manage }
Run Code Online (Sandbox Code Playgroud)

看起来他们没有在他们的文档中介绍这一点.

Eln*_*mov 177

您可以根据需要传递任意数量的参数,用逗号分隔它们:

{{ path('_files_manage', {project: project.id, user: user.id}) }}
Run Code Online (Sandbox Code Playgroud)


Tac*_*sky 8

考虑制定你的路线:

_files_manage:
    pattern: /files/management/{project}/{user}
    defaults: { _controller: AcmeTestBundle:File:manage }
Run Code Online (Sandbox Code Playgroud)

因为它们是必填字段.它会让你的网址更漂亮,更易于管理.

你的控制器会是这样的

 public function projectAction($project, $user)
Run Code Online (Sandbox Code Playgroud)

  • 完全错过了问题的要点 (9认同)