Php 如何使用细枝变量作为表单字段名
我有一个表单模板,其中有几个类似表单字段的重复块。其用途如下:Php 如何使用细枝变量作为表单字段名,php,forms,symfony,twig,Php,Forms,Symfony,Twig,我有一个表单模板,其中有几个类似表单字段的重复块。其用途如下: {# form_template.html.twig #} {{ include ('company-select.html.twig', {field: 'companiesInclude'}) {{ include ('company-select.html.twig', {field: 'companiesExclude'}) {{ include ('company-select.html.twig', {field: 'c
{# form_template.html.twig #}
{{ include ('company-select.html.twig', {field: 'companiesInclude'})
{{ include ('company-select.html.twig', {field: 'companiesExclude'})
{{ include ('company-select.html.twig', {field: 'companiesLinked'})
{# company-select.html.twig (simplified, the actual template is much more complex) #}
<div class="form form-field selector" id="{{ field }}">
{{ form_label(form.field) }}
{{ form_widget(form.field) }}
</div>
现在我有一个company select模板,如下所示:
{# form_template.html.twig #}
{{ include ('company-select.html.twig', {field: 'companiesInclude'})
{{ include ('company-select.html.twig', {field: 'companiesExclude'})
{{ include ('company-select.html.twig', {field: 'companiesLinked'})
{# company-select.html.twig (simplified, the actual template is much more complex) #}
<div class="form form-field selector" id="{{ field }}">
{{ form_label(form.field) }}
{{ form_widget(form.field) }}
</div>
{#company-select.html.twig(简化,实际模板要复杂得多)#
{{form_标签(form.field)}
{{form_小部件(form.field)}
按目前的方式,模板失败,因为“field”不是FormView类的属性
如何使模板将twig变量作为实际字段名插入表单xxx函数调用中?twig中对象或数组元素的属性可以通过点符号(
)或方括号([]
)访问
如果您的属性恰好是一个细枝变量,则需要使用后面的表单
因此,在你的情况下:
表单标签(表单[字段])
form\u小部件(form[field])
<div class="form form-field selector" id="{{ field }}">
{{ form_label(form[field]) }}
{{ form_widget(form[field]) }}
</div>
{{form_标签(form[field])}
{{form_小部件(form[field])}
在一个非常简化的示例中,这是可测试的
注意,在更复杂的口味中,您还可以使用
,[]
:获取变量的属性
来源:同样值得一读的是:改变了“companyInclude”的生成方式——现在一切正常。