Sylius\Bundle\LocaleBundle\Form\Type\LocaleType::buildForm PHP Method

buildForm() public method

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('code', \Symfony\Component\Form\Extension\Core\Type\LocaleType::class, ['label' => 'sylius.form.locale.name'])->add('enabled', CheckboxType::class, ['label' => 'sylius.form.locale.enabled']);
    }

Usage Example

Example #1
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     parent::buildForm($builder, $options);
     $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
         // Adding dynamically created code field
         $nameOptions = ['label' => 'sylius.form.locale.name'];
         $locale = $event->getData();
         if ($locale instanceof LocaleInterface && null !== $locale->getCode()) {
             $nameOptions['disabled'] = true;
         } else {
             $nameOptions['choices'] = $this->getAvailableLocales();
         }
         $nameOptions['choices_as_values'] = false;
         $form = $event->getForm();
         $form->add('code', 'locale', $nameOptions);
     });
 }