Forms 如何将元素添加到使用formbuilder(Symfony)创建的表单中?

Forms 如何将元素添加到使用formbuilder(Symfony)创建的表单中?,forms,symfony,oop,formbuilder,Forms,Symfony,Oop,Formbuilder,我通过Symfony4中的formbuilder创建表单: $formBuilder->add($fieldMapping['fieldName'], TextType::class, array('attr' => array('class' => 'form-control'))); 这给了我以下输出: <div> <label for="form_username" class="required">Username</label&g

我通过Symfony4中的formbuilder创建表单:

$formBuilder->add($fieldMapping['fieldName'], TextType::class, array('attr' => array('class' => 'form-control')));
这给了我以下输出:

<div>
   <label for="form_username" class="required">Username</label>
   <input type="text" id="form_username" name="form[username]"  class="form-control">
</div>

用户名
我想在输入字段后添加一行,因此结果如下所示:

<div>
   <label for="form_username" class="required">Username</label>
   <input type="text" id="form_username" name="form[username]" required="required" class="form-control">
   <span class="info" data-name="form[username]">
</div>

用户名
我的做法:

$formBuilder->add($fieldMapping['fieldName'], TextType::class, array('attr' => array('class' => 'form-control', 'after' => "<span class='info' data-name='form[username]'></span>")));
$formBuilder->add($fieldMapping['fieldName'],TextType::class,array('attr'=>array('class'=>'formcontrol','after'=>'));

但这是不正确的

您可以在Twig中打印单个标签和小部件

<div>
    {{ form_label(form.fieldName) }}
    {{ form_widget(form.fieldName) }}
    <span class="info" data-name="form[username]">
</div>

{{form_标签(form.fieldName)}
{{form_小部件(form.fieldName)}

您可以在Twig中打印单个标签和小部件

<div>
    {{ form_label(form.fieldName) }}
    {{ form_widget(form.fieldName) }}
    <span class="info" data-name="form[username]">
</div>

{{form_标签(form.fieldName)}
{{form_小部件(form.fieldName)}

正如@Ahmed EBEN HASSINE所说,他更喜欢树枝形式的主题化

在一个模板内

{% use 'form_div_layout.html.twig' with form_widget_simple as base_form_widget_simple %}

{% block form_widget_simple %}
    {{ block('base_form_widget_simple') }}
    <span class="info" data-name="{{ full_name }}">
{% endblock %}


{# rest of your code #}

正如@Ahmed EBEN HASSINE所说,他更喜欢树枝形式的主题化

在一个模板内

{% use 'form_div_layout.html.twig' with form_widget_simple as base_form_widget_simple %}

{% block form_widget_simple %}
    {{ block('base_form_widget_simple') }}
    <span class="info" data-name="{{ full_name }}">
{% endblock %}


{# rest of your code #}

无论您是否使用表单主题替代表单格式副本,您都可以从本例中触发无论您是否使用表单主题替代表单格式副本,您都可以从本例中触发,但不确定为什么会出现向下的投票。这是一个可以接受的办法。但是,我会添加form.username.vars.full_name,而不是字符串form[username],不知道为什么会有反对票。这是一个可以接受的办法。但我会添加form.username.vars.full_name,而不是字符串form[username]。