簡體   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