Twig 和 Silex,生成动态形式

Twig and Silex, generating dynamic forms

我正在尝试使用两个 for 循环在 Twig 上生成一个表单,以生成名称和每个表单元素。出于某种原因,我遇到了一些表达问题,但确实找不到问题所在。也许有人可以提供帮助。

{% for l in 1..line %}
<div class="row">
    {% for r in 1..row %}
    {% set form_name = "name_l_"~l~"_r_"~r~"_a" %}

    <div class="col-md-{{ cols }}">
      {{ form_label(form.~form_name, "Line: "~ l ~" total") }}
      {{ form_widget(form.~form_name, { attr: { 'class': 'form-control' }}) }}
    </div>
    {% endfor %}
</div>
{% endfor %}

您不能附加这样的动态变量来访问对象的成员。您需要更改:

form.~form_name

对此:

form[form_name]

这将实现您正在寻找的东西。