[英]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_field
的meta_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.