Genemu Form Bundle
GenemuFormBundle, на мой взгляд один из must have бандлов. Что из себя представляет? Набор очень удобных типов полей для формы с использованием jquery chosen, autocompleter и даже uploadify с jcrop.
На странице репозитория все вполне адекватно описано, встраивается легко и без заморочек. Я его использую как замену для sonata_type_model, да и вообще вместо большинства стандартных типов Sonata.
Большие плюсы:
- Прекрасно работает с сущностями
- Умеет делать ajax запросы для подгрузки списков для выбора
- Можно подствлять query builder для подгрузки списка сущностей
Вот несколько примеров:
<?php
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
...
->add('project', 'genemu_jquerychosen', array('label' => 'Проект',
'class' => 'Mtools\ProjectBundle\Entity\Project',
'widget' => 'entity',
'choices' => $allowedProjects,
'multiple' => false,
))
->add('projectType', 'genemu_jquerychosen', array('label' => 'Тип проекта',
'class' => 'Mtools\SystemValuesBundle\Entity\ProjectType',
'widget' => 'entity',
'multiple' => false,
'required' => false,
))
->add('rolesArray', 'genemu_jquerychosen', array('label' => 'Доступ',
'choices' => $roles,
'multiple' => true,
'required' => false,
))
...
И вот как примерно это выглядит в форме:
Также в бандле есть тип поля для загрузки файлов, но я пока его еще не тестил, не приходилось =) но думаю, что все должно быть на уровне.