2013-07-23 2 views
0

Я следую этой документации: http://symfony.com/doc/current/cookbook/form/form_collections.html.Показать теги в виде нескольких выборок

Итак, теги отображаются как группа текстовых областей, но мне нужны теги для отображения в виде элемента HTML «select» с атрибутом «multiple» для сохранения объекта «Задача», включая выбранные «теги» позже.

Возможно, у symfony есть конвертер «черной магии» из образов «тегов» и наоборот. Я не знаю. Но, может быть, я нашел неправильный способ сделать это. Кто-нибудь мне помогает.

ответ

1

Если вы следовали учебник, вам просто нужно изменить метод buildForm на TagType классе, так что name поле становится choice типа вместо (угадали) textarea.

Заменить:

$builder->add('name'); 

By:

$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.

Смежные вопросы