繁体   English   中英

Symfony:form_widget将变量作为表单字段传递

[英]Symfony: form_widget passing in a variable as the form field

是否可以将变量传递给form_widget()。

我有一些在formBuild内部生成的动态表单字段。 我可以检索这些字段的唯一方法是使用form_rest();。

每个记录可能具有不同的字段,所以我无法手动添加字段。

我已经将字段名称从控制器传递到视图中。 遍历字段名称并尝试创建字段。

参见以下示例

{% for meta_field in meta_fields %}
  {% set attr_field = 'form.'~ meta_field ~ '.metaValue' %}
    {{ attr_field }}
    {{ form_widget(attr_field) }}
  {% endfor %}

下面的错误

An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Argument 1 passed to Symfony\Component\Form\FormRenderer::searchAndRenderBlock() must be an instance of Symfony\Component\Form\FormView, string given, 

假设您将表单作为form传递给模板,并且字段名称存储在每个meta_fieldmeta_value键中,则可以使用meta_fields attr函数从meta_fields获取表单的字段,如下所示:

{% for meta_field in meta_fields %}
{% set attr_field = attribute(form, meta_field.meta_value) %}
  {{ form_widget(attr_field) }}
{% endfor %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM