ForkCMS\Bundle\InstallerBundle\Form\Type\ModulesType::buildForm PHP Метод

buildForm() публичный Метод

public buildForm ( Symfony\Component\Form\FormBuilderInterface $builder, array $options )
$builder Symfony\Component\Form\FormBuilderInterface
$options array
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('modules', 'choice', array('choices' => $this->getInstallableModules(), 'expanded' => true, 'multiple' => true))->add('example_data', 'checkbox', array('label' => 'Install example data', 'required' => false))->add('different_debug_email', 'checkbox', array('label' => 'Use a specific debug email address', 'required' => false))->add('debug_email', 'email', array('required' => false));
        // make sure the required modules are selected when submitting
        $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
            $data = $event->getData();
            // add the modules array if it doesn't exit
            if (!isset($data['modules'])) {
                $data['modules'] = array();
            }
            $data['modules'] = array_merge($data['modules'], ForkInstaller::getRequiredModules());
            $event->setData($data);
        });
    }