在twig中使用变量作为散列键(作为path()或| trans中的参数)

时间:2012-01-17 10:40:05

标签: symfony twig

是否可以动态使用trans filter或path函数?将变量作为参数? EX1:

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

因为:我不知道“object”是否使用id或slug进行路由

EX2:

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

因为:我不知道它是'%user%'还是'%article%'还是别的什么

为什么这样可行:

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

但这不是:

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

2 个答案:

答案 0 :(得分:52)

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

打印:

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

用括号括起来解决你的问题。

答案 1 :(得分:14)

用括号(而不是大括号)括起哈希键。

{{ path('object_edit', { (parameter_type) : parameter_value }) }}
相关问题