Forms 如何将元素添加到使用formbuilder(Symfony)创建的表单中?
我通过Symfony4中的formbuilder创建表单: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
$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]。