src/Form/Custom/StoreSelectorType.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 StoreSelectorType  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.         $storeTypes $this->storeTypesArray();
  25.         $resolver->setDefaults([
  26.             'placeholder' => 'Seleccione sede',
  27.             'choices' => $storeTypes,
  28.         ]);
  29.     }
  30.     protected function storeTypesArray(): array
  31.     {
  32.         /** @var Forms $forms */
  33.         $stores $this->formsmanager->find(1)->getStoreTypes();
  34.         $storesArray = [];
  35.         foreach ($stores as $store) {
  36.             $storesArray[$store['title']] = $store['title'];
  37.         }
  38.         return $storesArray;
  39.     }
  40. }