Fügen Sie mehr als einen Parameter im Zweigpfad hinzu


106

Wie füge ich mehr als einen Parameter zum Zweigpfad hinzu?
Angenommen, Sie haben diese Route:

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

Sie können dies in Ihrer Zweigvorlage tun:

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

aber was ist, wenn Sie dies in Ihrer Routing-Datei haben:

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

Es sieht so aus, als hätten sie dies in ihrer Dokumentation nicht behandelt.


1
Haben Sie vor dem Projekt die Vermutung ("?") Verpasst?
Jean-Luc Barat

Antworten:


183

Sie können so viele Argumente übergeben, wie Sie möchten, und diese durch Kommas trennen:

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

8

Überlegen Sie, wie Sie Ihre Route erstellen möchten:

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

da sie Pflichtfelder sind. Dadurch wird Ihre URL hübscher und einfacher zu verwalten.

Ihr Controller würde dann so aussehen

 public function projectAction($project, $user)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.