Forums

Email values problem

roman5527 04 Mar, 2020
Hi, i have field Checkboxes in my forms.


This Checkboxes name is : servisn_kony_volitelne[] and values are :
dezinfekcia_klimatizacie=Dezinfekcia klimatizácie
vymena_prednych_stieracov=Výmena predných stieračov
vymena_zadneho_stieraca=Výmena zadného stierača
brzdove_platnicky_predne=Brzdové platničky predné
brzdove_kotuce_predne=Brzdové kotúče predné
brzdove_platnicky_zadne=Brzdové platničky zadné
brzdove_kotuce_zadne=Brzdové kotúče zadné
brzdova_kvapalina=Brzdová kvapalina
doplnenie_oleja=Doplnenie oleja
doplnenie_adblue=Doplnenie Adblue
vymena_ziarovky=Výmena žiarovky
vymena_baterie_v_d_o=Výmena batérie v D.O.
vykonanie_stk_ek=Vykonanie STK a EK
umytie_vozidla=Umytie vozidla
tepovanie_cistenie_interieru=Tepovanie / čistenie interiéru
vymena_oleja=Výmena oleja
nastavenie_geometrie=Nastavenie geometrie
ine_servisne_ukony_volitelne=Iné

In email template I have code :
<?php $values = [ 'dezinfekcia_klimatizacie' => 'Dezinfekcia klimatizácie', 
'vymena_prednych_stieracov' => 'Výmena predných stieračov', 'vymena_zadneho_stieraca' => 'Výmena zadného stierača',
'brzdove_platnicky_predne' => 'Brzdové platničky predné', 'brzdove_kotuce_predne' => 'Brzdové kotúče predné',
'brzdove_platnicky_zadne' => 'Brzdové platničky zadné', 'brzdove_kotuce_zadne' => 'Brzdové kotúče zadné',
'brzdova_kvapalina' => 'Brzdová kvapalina', 'doplnenie_oleja' => 'Doplnenie oleja', 'doplnenie_adblue' => 'Doplnenie Adblue',
'vymena_ziarovky' => 'Výmena žiarovky', 'vymena_baterie_v_d_o' => 'Výmena batérie v D.O.',
'vykonanie_stk_ek' => 'Vykonanie STK a EK', 'umytie_vozidla' => 'Umytie vozidla',
'tepovanie_cistenie_interieru' => 'Tepovanie / čistenie interiéru', 'vymena_oleja' => 'Výmena oleja',
'nastavenie_geometrie' => 'Nastavenie geometrie', 'ine_servisne_ukony_volitelne' => 'Iné' ];[br] echo $values[$this->data('servisn_kony_volitelne')] ?? 'Invalid selection'; ?>

I see in email Invalid selection . Can you help me what i have wrong ?
thanks
healyhatman 05 Mar, 2020
$this->data('servisn_kony_volitelne ') will be an ARRAY of values.
roman5527 05 Mar, 2020
Hi , healyhatman . But i dont know what is wrong .

what is correct syntax fór email ?

Thanks
healyhatman 05 Mar, 2020
Its not the email that's wrong , you're trying to access an array using an array as the key, it's your php syntax that's wrong nothing to do with the email. You need to do a foreach through the ->data
roman5527 05 Mar, 2020
Thanks . Can you help me with this PHP. Because i know PHP only how amateur .

Thanks
healyhatman 05 Mar, 2020
$selected = array_map(function($selection) use($values) {
return $values[$selection] ?? null;
}, $this->data('servisn_kony_volitelne'));

echo implode(", ", array_filter($selected));
This topic is locked and no more replies can be posted.