我目前正在使用Symfony2和MopaBootStrap Bundle但使用Bootstrap2.3.2。
我遇到了symfony表单样式的问题。我想要实现的是一个横向形式,上面有3个东西:
a)输入字段 b)使用子表单的集合 c)子表单
我目前的代码:
// The view file
{{ form_start(form, {'attr': {'class': 'form-horizontal'}}) }}
<div class="row">
{{ form_row(form.field) }}
</div>
<div class="row">
{{ form_row(form.collection) }}
</div>
<div class="row">
{{ form_row(form.subform) }}
</div>
{{ form_end(form) }}
// The form type
$builder->add('field', null, array('label' => 'Enter Name'));
$builder->add('collection', 'collection', array('type' => 'test_project_collection_subform'));
$builder->add('subform', 'test_project_subform', array('label' => 'Enter Donation'));
// I know that everything in the builder lines can be chained and that the arrays are not in the correct coding standards but this is the basics of my form
好的,所以我知道使用bootstrap一切都被划分为12个网格。我不想要一个流畅的网格,普通的网格可以做到这一点。我基本上都希望所有6宽,在中心,所以逻辑上它将意味着span6 offset3。
第一次尝试:
// The view file
{{ form_start(form, {'attr': {'class': 'form-horizontal'}}) }}
<div class="row">
{{ form_row(form.field, {'attr': {'class': 'span6 offset3'}}) }}
</div>
<div class="row">
{{ form_row(form.collection, {'attr': {'class': 'span6 offset3'}}) }}
</div>
<div class="row">
{{ form_row(form.subform, {'attr': {'class': 'span6 offset3'}}) }}
</div>
{{ form_end(form) }}
这会产生第一张图片 - 我添加了
<div class="row">
<div class="span3 well">3</div>
<div class="span6 well">6</div>
</div>
显示网格
![1]:http://imgur.com/jDfC0Xo“工具提示”
你可以看到没有任何元素是对齐的,并且它们都没有与span6在同一个位置,并且没有子形式是6长。
我也尝试将元素分成
{{ form_label() }}
{{ form_widget() }}
{{ form_errors() }}
但这也行不通。即使这将字段放在正确的位置和大小,但如果该字段中存在错误,则只有错误消息为红色而不是标签+小部件+错误消息。
我去看了一下,发现你必须使用整个控制组。
我试过
<div class="row">
<div class="offset3">
<div id="appbundle_field_control_group" class=" control-group">
<label class=" control-label required" for="appbundle_field"></label>
<div class=" controls">
<textarea id="appbundle_field" class="span6" maxlength="400" required="required" name="appbundle_[field]"></textarea>
</div>
</div>
</div>
</div>
但是当字段中出现错误时我仍然遇到同样的问题。
所以我的问题的第一部分将是如何设置字段的样式以使其跨越6并且当出现错误时,一切都会变为红色,因为默认情况下会这样做?
我的第二部分将是如何设置子表单元素的样式,而不必每次都包含模板?
我的最后一个问题是,在哪里可以找到更多使用bootstrap2.3.2样式化symfony2的例子,它比getbootstrap.com上的示例复杂一点?