Twig - 使用变量

3

我希望在Twig中实现以下内容:

{{ 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

可以实现这个目标:(

你尝试过 {{ form_widget(form.orderItems.[index].enabled) }} 吗?只是一种理论。 - Jez
是的 :( - 预期名称或数字 - Faery
2个回答

3

通过一些调查,建议您使用“attribute”函数 - 参见在Twig中使用数组键访问数组值

我想这将类似于:

form_widget(attribute(form.orderItems, index).enabled)

很遗憾我现在无法轻松测试,但这应该能让你走上正确的轨道。


1
我现在也在解决同样的问题,但当我想要动态访问变量时,会出现“预期名称或数字错误”。 我找不到简单的答案,如何在twig中动态替换变量的某部分。 但是,如果没有第一个点,它可以正常工作,就像这里的第一个评论一样。
{{ form[othervariable value].vars.label }}

和 NOT

{{ form.[value].name }}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接