我发现你可以告诉 symfony 以引导方式生成表单,通过在你的 twig.yaml 文件中添加它
twig:
form_themes: ['bootstrap_4_layout.html.twig']
Run Code Online (Sandbox Code Playgroud)
这会以正常的引导程序方式呈现复选框,如下所示:
<fieldset class="form-group">
<legend class="col-form-label required">Subjects</legend>
<div id="form_subjects">
<div class="form-check">
<input type="checkbox" id="form_subjects_0" name="form[subjects][]" class="form-check-input" value="1">
<label class="form-check-label" for="form_subjects_0">4IZ110</label>
</div>
<div class="form-check">
<input type="checkbox" id="form_subjects_1" name="form[subjects][]" class="form-check-input" value="2">
<label class="form-check-label" for="form_subjects_1">4MA106</label>
</div>
</div>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
这太棒了,但我想以这种方式将它生成为自定义表单(我正在使用 bootswatch 模板):
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck1" checked="">
<label class="custom-control-label" for="customCheck1">Check this custom checkbox</label>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我在 symfony 文档中发现您可以“按自定义生成表单”,但这只是基于添加class="checkbox-custom"到元素<div id="form_subjects">
所以我的问题是:有没有办法在本地生成自定义引导复选框(和单选按钮)?还是我必须重写bootstrap_4_layout.html.twig?