我正在使用BraincraftedBootstrapBundle并使用嵌入表单遇到一个小问题。
假设我使用构建器构建表单如下:
$builder->add('title', 'text', ...)
->add('name', 'text', ...)
->add('address', new AddressType(), array('label' => false);
创建表单时,所有字段都按照引导程序放置在表单组中,但整个地址表单也放在表单组中,例如:
<div class="form-group">
<div class="col-lg-3"><label>Title</label></div>
<div class="col-lg-9"><input ....></div>
</div>
<div class="form-group">
<div class="col-lg-3"><label>Name</label></div>
<div class="col-lg-9"><input ....></div>
</div>
-- but then the entire embedded address form is placed in a form-group ---
<div class="form-group">
<div class="col-lg-9">
<div class="form-group">
<div class="col-lg-3"><label>Address</label></div>
<div class="col-lg-9"><input ....></div>
</div>
<div class="form-group">
<div class="col-lg-3"><label>City</label></div>
<div class="col-lg-9"><input ....></div>
</div>
<div class="form-group">
<div class="col-lg-3"><label>State</label></div>
<div class="col-lg-9"><input ....></div>
</div>
</div>
</div>
如何阻止嵌入表单嵌入表单组?
修改 如果无法更改,如何更改包装地址表单的外部div的列大小?例如从col-lg-9到col-lg-12?我尝试添加'attr'=&gt;数组('widget-col'=&gt; 12)到地址但是为地址表格中的所有元素设置
答案 0 :(得分:0)
回答我自己的问题但经过大量研究后,我终于找到了答案,感谢这个链接的帮助:
http://blog.bouzekri.net/2015/02/06/symfony-tips-find-form-theme-override-block-name/
由此我能够看到twig创建了哪些块,因此可以覆盖form_row块:
{% block _xxxxxxx_publicbundle_address_block_row %}
<div class="address_group">
{{ block('form_input_group') }}
{{ form_errors(form) }}
</div>
{% endblock %}
所以你有它,非常简单。我发布这个作为答案,以便其他人可以节省一点时间....