Dodaj więcej niż jeden parametr w ścieżce Twig


107

Jak dodać więcej niż jeden parametr w ścieżce Twig?
Powiedz, że masz tę trasę:

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

Możesz to zrobić w swoim szablonie twig:

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

ale co, jeśli masz to w swoim pliku routingu:

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

Wygląda na to, że nie ujęli tego w swojej dokumentacji.


1
Czy przegapiłeś odgadnięcie („?”) Przed projektem?
Jean-Luc Barat

Odpowiedzi:


184

Możesz podać dowolną liczbę argumentów, oddzielając je przecinkami:

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

8

Rozważ wyznaczenie trasy:

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

ponieważ są to pola wymagane. Dzięki temu Twój adres URL będzie ładniejszy i łatwiejszy w zarządzaniu.

Twój kontroler będzie wtedy wyglądał

 public function projectAction($project, $user)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.