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,
                ))
                ...

И вот как примерно это выглядит в форме:

Также в бандле есть тип поля для загрузки файлов, но я пока его еще не тестил, не приходилось =) но думаю, что все должно быть на уровне.