src/Form/Type/CartType.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Form\Type;
  3. use Symfony\Component\Form\Extension\Core\Type\TextType;
  4. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. use Symfony\Component\Form\Extension\Core\Type\CollectionType;
  9. class CartType extends AbstractType
  10. {
  11.     public function buildForm(FormBuilderInterface $builder, array $options)
  12.     {
  13.         $builder->add(
  14.             'products',
  15.             CollectionType::class,
  16.             array(
  17.                 'entry_type' => CartProductType::class,
  18.                 'allow_add' => true,
  19.                 'prototype' => true,
  20.                 'entry_options' => ['label'=>false],
  21.                 'allow_delete' => true,
  22.                 'by_reference' => false,
  23.             )
  24.         );
  25.         $builder->add('deliveryCountry'EntityType::class, array(
  26.             'required' => true,
  27.             'class' => \App\Entity\DeliveryCountry::class,
  28.             'choice_label' => 'name',
  29.             'attr' => ['placeholder' => 'choose'],
  30.             'label' => 'deliveryCountry'
  31.         ));
  32.         $builder->add('deliveryMethod'EntityType::class, array(
  33.             'required' => true,
  34.             'class' => \App\Entity\DeliveryMethod::class,
  35.             'choice_label' => 'name',
  36.             'expanded' => true,
  37.             'attr' => ['placeholder' => 'choose'],
  38.             'label' => 'deliveryMethodChoose'
  39.         ));
  40.         $builder->add('paymentMethod'EntityType::class, array(
  41.             'required' => true,
  42.             'class' => \App\Entity\PaymentMethod::class,
  43.             'choice_label' => 'name',
  44.             'expanded' => true,
  45.             'attr' => ['placeholder' => 'choose'],
  46.             'label' => 'paymentMethodChoose'
  47.         ));
  48.         $builder->add('rebateCodeContent'TextType::class, array(
  49.             'label'    => 'rebateCodeContent',
  50.             'required' => false,
  51.         ));
  52.     }
  53.     public function getName()
  54.     {
  55.         return 'productType';
  56.     }
  57.     public function getBlockPrefix()
  58.     {
  59.         return 'productType';
  60.     }
  61.     public function configureOptions(OptionsResolver $resolver)
  62.     {
  63.         $resolver->setDefaults(array(
  64.             'data_class' => 'App\Entity\Cart',
  65.             'csrf_protection' => false,
  66.             'locale' => 'pl',
  67.             'allow_extra_fields' => true,
  68.             'translation_domain' => 'store',
  69.         ));
  70.     }
  71. }