src/Form/RdvGratuitFormType.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. // Voir https://symfony.com/doc/current/reference/forms/types.html
  4. use Pimcore\Model\WebsiteSetting;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\Form\Extension\Core\Type\TextType;
  8. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  10. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  11. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  12. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  13. use Symfony\Component\Form\Extension\Core\Type\FileType;
  14. use Symfony\Component\Form\Extension\Core\Type\BirthdayType;
  15. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  16. use Symfony\Component\OptionsResolver\OptionsResolver;
  17. use Symfony\Component\Translation\TranslatorInterface;
  18. class RdvGratuitFormType extends AbstractType
  19. {
  20.     /**
  21.      * @inheritDoc
  22.      */
  23.     public function buildForm(FormBuilderInterface $builder, array $options)
  24.     {
  25.         /*
  26.          * Si vous créez un formulaire en "dur" dans votre vue (ex: demo-contact-sans-formbuilder.html.php),
  27.          * alors vous pouvez laisser les lignes ci-dessous en commentaire.
  28.          * Si vous créez un formulaire avec le formbuilder dans votre vue (ex: demo-contact-avec-formbuilder.html.php),
  29.          * alors décommentez les lignes ci-dessous et créez vos propres champs.
  30.          */
  31.     
  32.         $recaptchaKeyPublic WebsiteSetting::getByName('recaptchaKeyPublic')->getData();
  33.         $recaptchaAction 'rdvgratuit';
  34.         $builder
  35.             ->add('lastname'TextType::class, [
  36.                 'label' => 'Nom',
  37.                 'required' => true,
  38.                 'attr'        => [
  39.                     'class' => 'uk-input'
  40.                 ]
  41.            ])
  42.             ->add('firstname'TextType::class, [
  43.                 'label' => 'Prénom',
  44.                 'required'    => true,
  45.                 'attr'        => [
  46.                     'class' => 'uk-input'
  47.                 ]
  48.             ])
  49.             ->add('email'TextType::class, [
  50.                 'label' => 'Email',
  51.                 'required'    => true,
  52.                 'attr'        => [
  53.                     'class' => 'uk-input'
  54.                 ]
  55.             ])
  56.             ->add('phone'TextType::class, [
  57.                 'label' => 'Téléphone',
  58.                 'required'    => true,
  59.                 'attr'        => [
  60.                     'class' => 'uk-input'
  61.                 ]
  62.             ])
  63.             ->add('message'TextareaType::class, [
  64.                 'label' => 'Message',
  65.                 'required' => true,
  66.                 'attr'     => [
  67.                     'class' => 'uk-textarea'
  68.                 ]
  69.             ])
  70.             ->add('gdpr'CheckboxType::class, [
  71.                 'label'    => false,
  72.                 'required' => true,
  73.                 'attr' => ['class' => 'uk-checkbox'],
  74.             ])
  75.             ->add('recaptcha'HiddenType::class, [
  76.                 'attr'     => [
  77.                     'class' => 'gs-recaptcha ',
  78.                     'recaptchaPublicKey' => $recaptchaKeyPublic,
  79.                     'recaptchaAction' => $recaptchaAction
  80.                 ],
  81.                 'required' => false
  82.             ])                
  83.             ->add('submit'SubmitType::class, [
  84.                 'label' => 'Envoyer',
  85.                 'attr'        => [
  86.                     'class' => 'uk-button uk-button-large'
  87.                 ]
  88.             ]);
  89.     }
  90.     /**
  91.      * @inheritDoc
  92.      */
  93.     public function configureOptions(OptionsResolver $resolver)
  94.     {
  95.     }
  96. }