包含在<li>中的Symfony2实体字段类型(多对多形式)

Jas*_*ett 1 symfony

我有一个表单buildForm()函数,如下所示:

public function buildForm(FormBuilder $builder, array $options)
{   
    $builder->add('interestingSports', 'entity', array(
        'multiple' => true,
        'expanded' => true,
        'property' => 'name',
        'class'    => 'Foo\MyBundle\Entity\Sport',
    )); 
}
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,除了表单只是插入一堆没有<li>s或其周围任何东西的复选框,我想要<li>s.

Symfony有办法让每个复选框都放在一个<li>

Ahm*_*ani 9

显示由<li>标签包围的复选框的最佳和最简单的方法是通过单独显示字段来自定义表单呈现,

{# Any other form field #}
{{ form_widget(form.otherField) }}
{{ form_widget(form.otherField) }}
{# ... #}
{# Your checkboxes surrounded by <li> tags #}
{% for field in form.interestingSports %}
   <li>
     {{ form_label(field) }}
     {{ form_widget(field) }}
   </li>
{% endfor %}
{# Render all fields that have not yet been rendered #}
{{ form_rest(form) }}
Run Code Online (Sandbox Code Playgroud)