Symfony buildForm:将复选框输入放在标签标签内

Symfony buildForm: place checkbox input inside label tags

我有一个在 symfony 5.3 中用 buildForm 制作的表单

其中一个表单域是复选框,'active'。这是代码:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        // some other fields
        ->add('active')
    ;
}

formBuilder 正在像这样打印复选框:

<div>
    <label for="extract_ac_configuration_active">Active</label>
    <input type="checkbox" id="extract_ac_configuration_active" name="extract_ac_configuration[active]" value="1">
</div>

但是因为我希望标签在不需要 javascript 的情况下可以点击,并且因为我正在使用 css 框架,所以我需要将其呈现为

<label>
    <input type="checkbox" id="extract_ac_configuration_active" name="extract_ac_configuration">
    <span>active</span>
</label>

如何将通过 buildForm 呈现复选框的方式更改为我需要的方式?

如果你想得到这个结果:

<label>
    <input type="checkbox" id="extract_ac_configuration_active" name="extract_ac_configuration">
    <span>active</span>
</label>

你一定要爆表渲染。而不是像这样全局渲染:

{{ form_widget(form) }}

你必须这样做:

{{ form_start(form) }}

<label>
    {{ form_widget(form.active) }}
    <span>active</span>
</label>

{{ form_end(form) }}