【发布时间】:2021-09-27 02:22:57
【问题描述】:
我在 symfony 5.3 中有一个用 buildForm 制作的表单
其中一个表单字段是复选框,即“活动”字段。这是代码:
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 呈现的方式更改为我需要的方式?
【问题讨论】:
-
如何渲染该字段?使用
{{ form_row() }}? -
在控制器
$this->renderForm('route_to/edit.html.twig', [ 'extract_ac_configuration' => $extractAcConfiguration, 'form' => $form, ]);和form.html.twig 中{{ form_widget(form) }}是您创建php bin/console generate:doctrine:crud时的默认方式 -
好的,那么你必须分解表单的渲染。检查我将发布的答案。
标签: symfony symfony-forms formbuilder symfony5