Search code examples
selectedsonatasymfony-3.4

How to set selected option on choiceType sonata admin bundle


setting default/ selected option for choice field in symfony3 sonata admin bundle?

For example :

use Symfony\Component\Form\Extension\Core\Type\ChoiceType;

/**
 * @inheritdoc
 */
public function configureFormFields(FormMapper $formMapper) {
  parent::configureFormFields($formMapper);

  $formMapper->add('type', ChoiceType::class, [
    'label' => 'config.label_type',
    'choices' => [
      'config.label_permanent' => 'permanent',
      'config.label_automatic' => 'automatic',
      'config.label_temporary' => 'temporary' 
    ],
    'required' => false
  ]);
}

How to make the _permanent_ as selected value ?

This post doesn't help me out setting default value in symfony2 sonata admin bundle


Solution

  • You can try with something like this:

    use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
    
    /**
     * @inheritdoc
     */
    public function configureFormFields(FormMapper $formMapper) {
      parent::configureFormFields($formMapper);
    
      $subject = $this->getSubject();
       if (null === $subject->getId()) {
         $subject->setType('permanent');
       }
    
      $formMapper->add('type', ChoiceType::class, [
        'label' => 'config.label_type',
        'choices' => [
          'config.label_permanent' => 'permanent',
          'config.label_automatic' => 'automatic',
          'config.label_temporary' => 'temporary' 
        ],
        'required' => false
      ]);
    }