我想要实现这个问题:
{{ form_widget(form.orderItems.0.enabled) }}
{{ form_widget(form.orderItems.1.enabled) }}
{{ form_widget(form.orderItems.2.enabled) }}
....
但是数字是变量。
我试过了:
{% set index = 0 %}
{{ form_widget(form.orderItems.index.enabled) }}
Error: Method "index" for object "Symfony\Component\Form\FormView" does not exist
和此:
{{ form_widget(form.orderItems.{{index}}.enabled) }}
Error: Expected name or number
和此:
{{ form_widget(form.orderItems.~index~.enabled) }}
Error: Expected name or number
有可能实现这一点:(
答案 0 :(得分:2)
一些挖掘建议您使用'属性'功能 - 见Accessing array values using array key from Twig。
我想这就像是
form_widget(attribute(form.orderItems, index).enabled)
不幸的是,我现在无法轻易测试,但它应该让你走上正确的轨道。
答案 1 :(得分:1)
我现在正在解决同样的问题,当我想动态访问变量时,会出现“预期的名称或数字错误”。 我找不到简单的答案,如何在树枝上动态替换变量的某些部分。 但它没有第一个点,因为这里的第一个评论。
{{ form[othervariable value].vars.label }}
而不是
{{ form.[value].name }}