简体   繁体   English

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

[英]Set Twig object property name using variable

I need to set an object property name dynamically in Twig: 我需要在Twig中动态设置对象属性名称:

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

But that sets "featureId" as a property of gridEnabled . 但这gridEnabled "featureId"设置为gridEnabled的属性。 Is there a way to tell Twig that featureId is a variable? 有没有办法告诉Twig featureId是变量? I'm surprised it interprets that as a string without quotes. 我很惊讶它将其解释为不带引号的字符串。

Follow-up question: Here is the full set--I was able to further reduce to "feature.id". 后续问题:这是完整的文档,我可以进一步简化为“ feature.id”。 Can these lines be combined? 这些线可以合并吗?

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

Very easy actually, 其实很容易

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

(edit) follow-up (编辑)后续行动

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM