2012-01-17 26 views
14

Có thể sử dụng bộ lọc chuyển động hoặc hàm đường dẫn động không? EX1:Sử dụng các biến dưới dạng một khóa băm trong cành (như một tham số trong đường dẫn() hoặc | trans)

{{ path('object_edit', { parameter_type : parameter_value }) }} 

vì: Tôi không biết nếu "đối tượng" bằng id hoặc sên cho định tuyến

EX2:

{{message|trans({ parameter_type : parameter_value }, 'TranslationDomain') }} 

vì: tôi không biết nếu nó sẽ là '% user%' hoặc '% article%' hoặc một cái gì đó khác

Tại sao điều này hoạt động tốt:

{{ path('object_edit', { 'id' : parameter_value }) }} 

nhưng điều này không:

{{ set parameter_type = 'id' }} 
{{ path('object_edit', { parameter_type : parameter_value }) }} 

Trả lời

46
{% set key = 'foobar' %} 
{% set hash = { (key) : 'hello world' } %} 
{% debug hash %} 

in:

array(1) { ["foobar"]=> string(11) "hello world" } 

gói trong ngoặc giải quyết vấn đề của bạn.

+1

Tuyệt vời, cảm ơn! – ChocoDeveloper

+0

Không rõ ràng và rõ ràng, cảm ơn cho mẹo. Nên được đánh dấu là câu trả lời được chấp nhận. – Soullivaneuh

+0

Cảm ơn bạn rất nhiều! –

12

Đính kèm các khóa băm bằng dấu ngoặc đơn (không phải dấu ngoặc ôm).

{{ path('object_edit', { (parameter_type) : parameter_value }) }} 
Các vấn đề liên quan