2017-08-15 70 views
1

我试图在Twig上使用两个for循环来生成名称和每个表单元素。出于某种原因,我得到一些表达问题,但真的找不到问题。也许有人可以帮忙。Twig和Silex,生成动态表格

{% 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 %} 
+0

什么是实际的错误信息? –

+0

ExpressionParser.php中的Twig_Error_Syntax行382: 预期的名称或编号 –

+0

您不能附加像那样的动态变量并从Twig中的对象中检索。你有没有试过'form [form_name]'而不是? –

回答

1

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

form.~form_name 

这样:

form[form_name] 

将实现你在找什么。