web-dev-qa-db-fra.com

Ajouter plus d'un paramètre dans le chemin Twig

Comment ajouter plus d'un paramètre dans le chemin Twig?
Disons que vous avez cette route:

article_show:
    pattern:  /article/{slug}
    defaults: { _controller: AcmeArticleBundle:Article:show }

Vous pouvez le faire dans votre modèle twig:

{{ path('article_show', { 'slug': article.slug }) }}

mais si vous avez ceci dans votre fichier de routage:

_files_manage:
    pattern: /files/management/project={idproject}&user={iduser}
    defaults: { _controller: AcmeTestBundle:File:manage }

On dirait qu'ils n'ont pas couvert cela dans leur documentation.

99
Wissem

Vous pouvez passer autant d'arguments que vous le souhaitez, en les séparant par des virgules:

{{ path('_files_manage', {project: project.id, user: user.id}) }}
173

Pensez à faire votre itinéraire:

_files_manage:
    pattern: /files/management/{project}/{user}
    defaults: { _controller: AcmeTestBundle:File:manage }

puisque ce sont des champs obligatoires. Cela rendra votre URL plus jolie et sera un peu plus facile à gérer.

Votre contrôleur ressemblerait alors à

 public function projectAction($project, $user)
8
Tac Tacelosky