Добавить более одного параметра в путь Twig

107

Как добавить более одного параметра в путь Twig?
Допустим, у вас есть этот маршрут:

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

Вы можете сделать это в своем шаблоне веточки:

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

но что, если у вас есть это в вашем файле маршрутизации:

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

Похоже, они не упомянули об этом в своей документации.

Wissem
источник
1
Вы пропустили догадку ("?") Перед проектом?
Жан-Люк Барат,

Ответы:

184

Вы можете передать сколько угодно аргументов, разделяя их запятыми:

{{ path('_files_manage', {project: project.id, user: user.id}) }}
Эльнур Абдуррахимов
источник
8

Продумайте свой маршрут:

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

поскольку это обязательные поля. Это сделает ваш URL-адрес красивее и станет немного проще в управлении.

Тогда ваш контроллер будет выглядеть как

 public function projectAction($project, $user)
Tac Tacelosky
источник