Choice type Field

5 views
Skip to first unread message

Massimiliano

unread,
Mar 15, 2017, 6:54:49 AM3/15/17
to symfony-it
Ciao a tutti,

ho impostato un form per il "Contattaci" che invia una mail ad un indirizzo diverso in base alla scelta della categoria (le classiche Assitenza Tecnica, Reclami ecc.):

nel type la categoria è definita in questo modo

->add('category', ChoiceType::class, array('placeholder'=>'contactus.select',
                'choices'  => array('contactus.tecnical' => 0, 'contactus.reclaim' => 1, 'contactus.neworder' => 2, 'contactus.other'=>3),
                'choices_as_values' => true,
                'label' => 'contactus.category', 'translation_domain' => 'FOSUserBundle'))

Ora nel controller effettuo in test per stabilire a quale indirizzo spedire la mail di assistenza per comodità quì ne metto solo uno:

                if ($form->get('category')->getData() == 'ASSISTENZA TECNICA'
                        or $form->get('category')->getData() == 'TECNICAL SUPPORT')
                {

                    $toaddress = 'help...@picopallino.com';
                                    $category = $form->get('category')->getData();

                }

Quando effettuo la vera e propria send del messaggio la spedisco anche all'utente che l'ha appena mandata, e nel corpo del messaggio vorrei includere anche la categoria che ha selezionato.
Perché quando vado a fare la getData() per impostare il $category, la stessa del test precedente nel corpo del messaggio mi ritrovo il valore numerico del choice quando invece per il test della if funziona con la "stringa"?

Grazie come sempre.



Massimiliano Arione

unread,
Mar 15, 2017, 6:57:37 AM3/15/17
to symfony-it
Non vedo come tu possa ottenere una stringa dal form, visto che l'option della choice contiene un numero.

ciao
M.

Massimiliano

unread,
Mar 15, 2017, 7:27:56 AM3/15/17
to symfony-it
Ok ci sto, me ne sarei dovuto accorgere anche dal test ma non ho prestato abbastanza attenzione.
Grazie

Reply all
Reply to author
Forward
0 new messages