src/Form/OrderFormType.php line 29

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  7. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use Symfony\Component\Form\FormBuilderInterface;
  11. use Symfony\Component\OptionsResolver\OptionsResolver;
  12. use Symfony\Component\Form\Extension\Core\Type\TimeType;
  13. use Symfony\Component\Form\Extension\Core\Type\DateType;
  14. use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
  15. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  16. use Symfony\Component\Form\Extension\Core\Type\NumberType;
  17. use Symfony\Component\Form\Extension\Core\Type\TelType;
  18. use Symfony\Component\Form\Extension\Core\Type\FileType;
  19. use Symfony\Component\Validator\Constraints\File;
  20. use Symfony\Component\Validator\Constraints\Email;
  21. use Symfony\Component\Validator\Constraints\NotBlank;
  22. use Symfony\Component\Validator\Constraints\Choice;
  23. use Pimcore\Translation\Translator;
  24. use Symfony\Component\Form\Extension\Core\Type\CollectionType;
  25. class OrderFormType extends AbstractType
  26. {
  27.     /**
  28.      * @inheritDoc
  29.      */
  30.     public function buildForm(FormBuilderInterface $builder, array $options)
  31.     {
  32.         $builder
  33.             ->add('name'TextType::class, [
  34.                 'label'    => 'form.order.name',
  35.                 'required' => true,
  36.                 // 'error_bubbling' => true,
  37.                 'attr'     => [
  38.                     'placeholder' => 'form.order.name'
  39.                 ]
  40.             ])
  41.             ->add('lastname'TextType::class, [
  42.                 'label'    => 'form.order.lastname',
  43.                 'required' => true,
  44.                 // 'error_bubbling' => true,
  45.                 'attr'     => [
  46.                     //'style' => 'height: 250px;'
  47.                     'placeholder' => 'form.order.lastname'
  48.                 ]
  49.             ])
  50.             // email
  51.             ->add('email'EmailType::class, [
  52.                 'label' => 'form.order.email',
  53.                 'attr' => [
  54.                     'placeholder' => 'form.order.email'
  55.                 ],
  56.                 'required' => true,
  57.                 // 'error_bubbling' => true,
  58.             ])
  59.             ->add('tel'TextType::class, [
  60.                 'label'    => 'form.order.phone',
  61.                 'required' => true,
  62.                 // 'error_bubbling' => true,
  63.                 'attr'     => [
  64.                     //'style' => 'height: 250px;'
  65.                     'placeholder' => 'form.order.phone'
  66.                 ]
  67.             ])
  68.             ->add('street'TextType::class, [
  69.                 'label'    => 'form.order.street',
  70.                 'required' => true,
  71.                 // 'error_bubbling' => true,
  72.                 'attr'     => [
  73.                     'placeholder' => 'form.order.street'
  74.                 ]
  75.             ])
  76.             ->add('streetnr'TextType::class, [
  77.                 'label'    => 'form.order.streetnr',
  78.                 'required' => true,
  79.                 // 'error_bubbling' => true,
  80.                 'attr'     => [
  81.                     'placeholder' => 'form.order.streetnr'
  82.                 ]
  83.             ])
  84.             ->add('postal'TextType::class, [
  85.                 'label'    => 'form.order.postal',
  86.                 'required' => true,
  87.                 // 'error_bubbling' => true,
  88.                 'attr'     => [
  89.                     'placeholder' => 'form.order.postal'
  90.                 ]
  91.             ])
  92.             ->add('city'TextType::class, [
  93.                 'label'    => 'form.order.city',
  94.                 'required' => true,
  95.                 // 'error_bubbling' => true,
  96.                 'attr'     => [
  97.                     'placeholder' => 'form.order.city'
  98.                 ]
  99.             ])
  100.             ->add('street2'TextType::class, [
  101.                 'label'    => 'form.order.street.two',
  102.                 'required' => false,
  103.                 // 'error_bubbling' => true,
  104.                 'attr'     => [
  105.                     'placeholder' => 'form.order.street.two'
  106.                 ]
  107.             ])
  108.             ->add('streetnr2'TextType::class, [
  109.                 'label'    => 'form.order.streetnr.two',
  110.                 'required' => false,
  111.                 // 'error_bubbling' => true,
  112.                 'attr'     => [
  113.                     'placeholder' => 'form.order.streetnr.two'
  114.                 ]
  115.             ])
  116.             ->add('postal2'TextType::class, [
  117.                 'label'    => 'form.order.postal.two',
  118.                 'required' => false,
  119.                 // 'error_bubbling' => true,
  120.                 'attr'     => [
  121.                     'placeholder' => 'form.order.postal.two'
  122.                 ]
  123.             ])
  124.             ->add('city2'TextType::class, [
  125.                 'label'    => 'form.order.city.two',
  126.                 'required' => false,
  127.                 // 'error_bubbling' => true,
  128.                 'attr'     => [
  129.                     'placeholder' => 'form.order.city.two'
  130.                 ]
  131.             ])
  132.             ->add('products'TextareaType::class, [
  133.                 'label'    => 'form.order.products',
  134.                 'required' => true,
  135.                 // 'error_bubbling' => true,
  136.                 'attr'     => [
  137.                     //'style' => 'height: 250px;'
  138.                     'placeholder' => 'form.order.products'
  139.                 ],
  140.             ])
  141.             ->add('termsconditions'CheckboxType::class, [
  142.                 'label' => 'form.order.termsconditions',
  143.                 'required' => true,
  144.             ])
  145.             ->add('privacypolicy'CheckboxType::class, [
  146.                 'label' => 'form.order.privacypolicy',
  147.                 'required' => true,
  148.             ])
  149.             ->add('newsletter'CheckboxType::class, [
  150.                 'label' => 'form.order.newsletter',
  151.                 'required' => false,
  152.             ])
  153.             ->add('message'TextareaType::class, [
  154.                 'label'    => 'form.order.message',
  155.                 'required' => false,
  156.                 // 'error_bubbling' => true,
  157.                 'attr'     => [
  158.                     //'style' => 'height: 250px;'
  159.                     'placeholder' => 'form.order.message'
  160.                 ],
  161.             ])
  162.             // vr_mandat_pdf
  163.             /*
  164.             ->add('vr_mandat_pdf', FileType::class, [
  165.                 'label' => 'vr_mandat_pdf',
  166.                 'attr' => [
  167.                     'placeholder' => '',
  168.                     'class' => 'original-file-input',
  169.                     'data-file' => '1',
  170.                     'accept' => '.pdf'
  171.                 ],
  172.                 'required' => false,
  173.                 // 'error_bubbling' => false,
  174.                 'constraints' => [
  175.                     new File([
  176.                         'maxSize' => '5000k',
  177.                         'maxSizeMessage' => 'vr-mandat_pdf.toobig',
  178.                         'mimeTypes' => [
  179.                             'application/pdf'
  180.                         ],
  181.                         'mimeTypesMessage' => 'vr-mandat_pdf.wrongtype'
  182.                     ])
  183.                 ]
  184.             ])
  185.             */
  186. /*            ->add('disclaimer', CheckboxType::class, [
  187.                 'label'    => 'disclaimer_gelesen_und_akzeptiert',
  188.                 'required' => false,
  189.                 'attr' => [
  190.                     'class' => 'disclaimer-proof'
  191.                 ],
  192.                 // 'error_bubbling' => true,
  193.                 'constraints' => [
  194.                     new NotBlank(['message' => 'form.order.disclaimer.not.blank'])
  195.                 ]
  196.             ])*/
  197.             // hidden
  198.             ->add('hidden'HiddenType::class, [
  199.                 'required' => false
  200.             ])
  201.             // js filled
  202.             ->add('filled'HiddenType::class, [
  203.                 'required' => true
  204.             ])
  205.             ->add('submit'SubmitType::class, [
  206.                 'label' => 'order.form.order.submit',
  207.             ]);
  208.     }
  209.     /**
  210.      * @inheritDoc
  211.      */
  212.     public function configureOptions(OptionsResolver $resolver)
  213.     {
  214.         $resolver->setDefaults([
  215.             'attr' => [
  216.                 'novalidate' => 'novalidate'
  217.             ],
  218.             'csrf_protection' => true,
  219.             'csrf_field_name' => '_csrf_token',
  220.             'csrf_token_id'   => ''
  221.         ]);
  222.     }
  223. }