2017-03-16 55 views
2

我需要在枝条动态设置一个对象的属性名称设置的树枝对象的属性名称:使用可变

{% set featureId = feature.id %} 
{% set gridEnabled = gridEnabled|merge({featureId: true}) %} 

但是,设置"featureId"gridEnabled属性。有没有办法告诉Twig,featureId是一个变量?我很惊讶它将其解释为不带引号的字符串。

后续问题:这里是全套 - 我能够进一步减少到“feature.id”。这些线可以结合?实际上

{% set gridEnabled = grid.enabled %} 
{% set gridEnabled = gridEnabled|merge({(feature.id): true}) %} 
{% set grid = grid|merge({'enabled':gridEnabled}) %} 

回答

5

很容易,

{% set gridEnabled = gridEnabled|merge({(featureId): true}) %} 
+0

这就是我在上面。它不起作用---将属性名称设置为“featureId”---哦,等一下,你有它在parens - 就是这样吗?你知道这个原因吗? – scader

+0

因此2个额外的括号,这迫使树枝首先插入变量 – DarkBee

+0

我添加了一个后续行动,这也可以减少? – scader