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