src/Form/Custom/OriginTypeSelectorType.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Form\Custom;
  3. use App\Entity\Forms;
  4. use App\Manager\FormsManager;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. class OriginTypeSelectorType  extends AbstractType
  9. {
  10.     private FormsManager $formsManager;
  11.     /**
  12.      * @param FormsManager $formsManager
  13.      */
  14.     public function __construct(FormsManager $formsManager)
  15.     {
  16.         $this->formsManager $formsManager;
  17.     }
  18.     public function getParent(): string
  19.     {
  20.         return ChoiceType::class;
  21.     }
  22.     public function configureOptions(OptionsResolver $resolver)
  23.     {
  24.         $originTypes $this->originTypesArray();
  25.         $resolver->setDefaults([
  26.             'placeholder' => '¿Cómo te enteraste de nosotros?',
  27.             'choices' => $originTypes,
  28.         ]);
  29.     }
  30.     protected function originTypesArray(): array
  31.     {
  32.         /** @var Forms $forms */
  33.         $forms $this->formsManager->find(1);
  34.         $originTypes $forms->getOriginTypes();
  35.         $originTypesArray = [];
  36.         foreach ($originTypes as $originType) {
  37.             $originTypesArray[$originType['title']] = $originType['title'];
  38.         }
  39.         return $originTypesArray;
  40.     }
  41. }