<?php
namespace App\Form\Type;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
class CartType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add(
'products',
CollectionType::class,
array(
'entry_type' => CartProductType::class,
'allow_add' => true,
'prototype' => true,
'entry_options' => ['label'=>false],
'allow_delete' => true,
'by_reference' => false,
)
);
$builder->add('deliveryCountry', EntityType::class, array(
'required' => true,
'class' => \App\Entity\DeliveryCountry::class,
'choice_label' => 'name',
'attr' => ['placeholder' => 'choose'],
'label' => 'deliveryCountry'
));
$builder->add('deliveryMethod', EntityType::class, array(
'required' => true,
'class' => \App\Entity\DeliveryMethod::class,
'choice_label' => 'name',
'expanded' => true,
'attr' => ['placeholder' => 'choose'],
'label' => 'deliveryMethodChoose'
));
$builder->add('paymentMethod', EntityType::class, array(
'required' => true,
'class' => \App\Entity\PaymentMethod::class,
'choice_label' => 'name',
'expanded' => true,
'attr' => ['placeholder' => 'choose'],
'label' => 'paymentMethodChoose'
));
$builder->add('rebateCodeContent', TextType::class, array(
'label' => 'rebateCodeContent',
'required' => false,
));
}
public function getName()
{
return 'productType';
}
public function getBlockPrefix()
{
return 'productType';
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'App\Entity\Cart',
'csrf_protection' => false,
'locale' => 'pl',
'allow_extra_fields' => true,
'translation_domain' => 'store',
));
}
}