Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

44 lines
1.5KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Form\Order;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Lc\CaracoleBundle\Model\Order\OrderProductInterface;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  7. use Symfony\Component\Form\Extension\Core\Type\NumberType;
  8. use Symfony\Component\Form\FormBuilderInterface;
  9. use Symfony\Component\OptionsResolver\OptionsResolver;
  10. use Lc\CaracoleBundle\Form\Product\ProductToIdTransformer;
  11. class OrderProductType extends AbstractType
  12. {
  13. protected EntityManagerInterface $entityManager;
  14. protected ProductToIdTransformer $productTransformer;
  15. public function __construct(EntityManagerInterface $entityManager, ProductToIdTransformer $productTransformer)
  16. {
  17. $this->entityManager = $entityManager;
  18. $this->productTransformer = $productTransformer;
  19. }
  20. public function buildForm(FormBuilderInterface $builder, array $options)
  21. {
  22. $data = $options['data'];
  23. $builder
  24. ->add('quantityOrder', NumberType::class)
  25. ->add('product', HiddenType::class);
  26. $builder->get('product')->addModelTransformer($this->productTransformer);
  27. }
  28. public function configureOptions(OptionsResolver $resolver)
  29. {
  30. $resolver->setDefaults([
  31. 'data_class' => $this->entityManager->getEntityName(
  32. OrderProductInterface::class
  33. ),
  34. ]);
  35. }
  36. }