Thêm nhiều hơn một tham số trong đường dẫn Twig


106

Làm thế nào để thêm nhiều hơn một tham số trong đường dẫn Twig?
Giả sử bạn có tuyến đường này:

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

Bạn có thể làm điều này trong mẫu cành cây của mình:

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

nhưng điều gì sẽ xảy ra nếu bạn có cái này trong tệp định tuyến của mình:

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

Có vẻ như họ đã không đề cập đến vấn đề này trong tài liệu của họ.


1
Bạn có bỏ lỡ đoán ("?") Trước khi dự án không?
Jean-Luc Barat

Câu trả lời:


183

Bạn có thể chuyển bao nhiêu đối số tùy thích, phân tách chúng bằng dấu phẩy:

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

8

Cân nhắc việc lập lộ trình của bạn:

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

vì chúng là các trường bắt buộc. Nó sẽ làm cho url của bạn đẹp hơn và dễ quản lý hơn một chút.

Bộ điều khiển của bạn sau đó sẽ trông giống như

 public function projectAction($project, $user)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.