2012-01-17 55 views
14

是否可以動態使用trans filter或path function?以變量作爲參數? EX1:使用變量作爲樹枝中的散列鍵(作爲path()或| trans中的參數)

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

因爲:如果 「對象」 使用ID或散熱片實現路由我不知道

EX2:

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

,因爲:我不知道這是否會是 '%用戶%' 或 '%文章%' 或別的東西

爲什麼這工作得很好:

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

但這並不:

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

回答

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

打印:

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

包裝在括號解決您的問題。

+1

太棒了,謝謝! – ChocoDeveloper 2013-04-04 00:01:15

+0

不是非常清楚明顯,謝謝你的提示。 應該被標記爲接受答案。 – Soullivaneuh 2015-09-11 12:41:27

+0

非常感謝你! – 2016-09-01 10:07:34

12

用圓括號(不是大括號)括起散列鍵。

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