我需要在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}) %}
答案 0 :(得分:6)
实际上很容易,
{% set gridEnabled = gridEnabled|merge({(featureId): true}) %}
(编辑)跟进
{% set grid = grid | merge({'enabled' : (grid.enabled | merge({(featureId):1,}))}) %}