Adicione mais de um parâmetro no caminho do Twig

106

Como adicionar mais de um parâmetro no caminho Twig?
Digamos que você tenha esta rota:

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

Você pode fazer isso em seu modelo de galho:

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

mas e se você tiver isso em seu arquivo de roteamento:

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

Parece que eles não cobriram isso em sua documentação.

Wissem
fonte
1
Você perdeu o palpite ("?") Antes do projeto?
Jean-Luc Barat

Respostas:

183

Você pode passar quantos argumentos quiser, separando-os por vírgulas:

{{ path('_files_manage', {project: project.id, user: user.id}) }}
Elnur Abdurrakhimov
fonte
8

Considere fazer sua rota:

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

uma vez que são campos obrigatórios. Isso deixará seu url mais bonito e um pouco mais fácil de gerenciar.

Seu controlador ficaria então

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