Получение нескольких полей в слушателе событий

Например, если мы получили прослушиватель события POST_SUBMIT,

$builder->get('client')->addEventListener(
FormEvents::POST_SUBMIT,
function (FormEvent $event)
{
$form = $event->getForm();
$data = $form->getData();
if($data) {
$shippings = $form->getData()->getClientsShippings()->getValues();

$form->getParent()->add('shipping', EntityType::class, [
'class' => ClientsShippings::class,
'placeholder' => 'Wybierz adres dostawy',
'choices' => $shippings,
'attr' => [
'class' => 'chosen-select',
],
'choice_label' => function ($shipping) {
return "".$shipping->getJson()['clients_shippings']['name']." | ".$shipping->getJson()['clients_shippings']['ulica']." | ".$shipping->getJson()['clients_shippings']['miejscowosc']."";
}
]);
}
});

и это дает возможность управлять данными, но только формирует поле «клиент». Как я могу добавить другие поля в этот EventListener.

Зачем ?
Потому что я хочу создать eventListener для поданных методов доставки, и если я обработаю это событие, я захочу взять поле CollectionType для продуктов и проверить, сколько продуктов есть, и посчитать, сколько будет стоить доставка.

Так что мне нужно получить:

Поле CollectionType с именем ‘order_products’,
Имена полей ChoiceType ‘order_payment’ -> получить таблицу цен (является сущностью),

делай математику,

и добавить новое поле TextType со значением происходит из математики.

Любая идея, как я могу передать более одного поля в EventListener или как это сделать?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector