2013-07-23 91 views
0

我遵循以下文档:http://symfony.com/doc/current/cookbook/form/form_collections.html显示标签为多个选择

所以,标签显示为文字区域的组,但我需要显示的标签,HTML“选择”与保存“Task'对象包括所选‘标签’后“多个”属性元素。

也许,symfony中有从“标签”实体“黑魔术”转换器形成,反之亦然。我不知道。但是,也许,我发现了一个错误的做法。请有人帮助我。

回答

1

如果你跟着教程,你只需要改变对TagType类的buildForm方法,使name领域成为choice类型,而不是(猜测)textarea

替换:

$builder->add('name'); 

通过:

$builder->add('name', 'choice', array(
    'choices' => array(
     'valueA' => 'labelA', 
     'valueB' => 'labelB', 
     'valueC' => 'labelC', 
     'valueD' => 'labelD', 
     // ... 
    ), 
    'multiple' => true, 
); 

如果你的选择列表是动态的,一个好的做法是在声明的form type as a service

有关choice字段类型有些信息是documented here