使用变量设置Twig对象属性名称

时间:2017-03-16 20:45:19

标签: object properties twig

我需要在Twig中动态设置对象属性名称:

{% 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}) %}

1 个答案:

答案 0 :(得分:6)

实际上很容易,

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

(编辑)跟进

{% set grid = grid | merge({'enabled' : (grid.enabled | merge({(featureId):1,}))}) %}