如何自定义以下代码?我该怎么用来自数据库的复选框。
这是我的表格
$builder->add('entityname', 'entity', array(
'class' => 'MyBundle:applicant',
'label' => 'label',
'property' => 'name',
'expanded' => true,
'required' => false,
'multiple' => true,
'attr' => array('class' => 'css-checkbox')
这是我的Twig布局
<div>
<div>
{% for entity in form %}
{{ form_widget(entityname) }}
{% endfor %}
</div>
</div>
这就是我在HTML中看到的内容:
<div id="name" class="css-checkbox">
<input type="checkbox" id="name_1" name="name[entityname][]" value="1" />
<label for="name_1">AD DNS</label>
<input type="checkbox" id="name_2" name="name[entityname][]" value="2" />
<label for="name_2">Print</label>
<input type="checkbox" id="name_3" name="name[entityname][]" value="3" />
<label for="name_3">Citrix</label>
<div>
我想要的是:
<div id="name" class="css-checkbox">
<div>
<input type="checkbox" id="name_1" name="name[entityname][]" value="1" />
</div>
<div>
<label for="name_1">AD DNS</label>
</div>
<div>
<input type="checkbox" id="name_2" name="name[entityname][]" value="2" />
</div>
<div>
<label for="name_2">Print</label>
</div>
<div>
<input type="checkbox" id="name_3" name="name[entityname][]" value="3" />
</div>
<div>
<label for="name_3">Citrix</label>
</div>
<div>
如何使用Twig处理此问题?
答案 0 :(得分:1)
您有两个选项来覆盖表单呈现: 1.覆盖模板中的小部件 2.扩展symfony .twig文件的表单元素定义
更多detilas请看这里:http://symfony.com/doc/current/cookbook/form/form_customization.html
答案 1 :(得分:0)
您可以将其添加到您的树枝模板中:
{% form_theme form _self %}
{% block checkbox_widget %}
{% spaceless %}
<div>
<input type="checkbox" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
</div>
<div>
<label for="{{ id }}">{{ label|trans }}</label>
</div>
{% endspaceless %}
{% endblock checkbox_widget %}