Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Form Questions /

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba

error take data from chackbox in email


Go to End
Reply


5 Posts   1690 Views

Avatar
bebabeba

Community Member, 193 Posts

4 February 2009 at 10:24pm

Hi!
I send mail wit Email_Template.
My problem is that I have a checkbox and I'm unable to print data in my email template because I have an error:

ArrayData::__construct: Parameter needs to be an object or associative array
At line 39 in E:\_silverstripe_cms\silverstripe\sapphire\core\ArrayData.php

The proble is how write data in checkbox. Can you hel me?
This is my checkbox:

new CheckboxSetField(
$name = "topics",
$title = "Settori d'interesse:",
$source = array(
"1" => "Information Management",
"2" => "Application Integration (EAI)",
"3" => "System Management",
),
$value = ""
)

and in GenericEmail.ss I wrote: Settori d'interesse: $topics

Avatar
bebabeba

Community Member, 193 Posts

5 February 2009 at 8:34pm

any one??

Avatar
Fuzz10

Community Member, 787 Posts

5 February 2009 at 11:37pm

I think the form returns an array ... So depending on what you need to do , you could either implode it into a string (for , say , displaying it in a mail) and feed it to the template or convert it into viewable data for Silverstripe using ArrayData() ...

See:
http://doc.silverstripe.com/doku.php?id=arraydata&s=arraydata

or

http://doc.silverstripe.com/doku.php?id=tutorial:3-forms&s=arraydata

Good luck !

Avatar
bebabeba

Community Member, 193 Posts

12 February 2009 at 3:28am

Sorry but I'm unable..I'm not able to show the result of my checkbox in my e-mail

$e = new Email_Template();
$e->From = "xx@xx.com";
$e->To = "xx@xx.it";
$e->populateTemplate($data);

$e->Subject = "Hi there";
$e->Body = "I just really wanted to email you and say hi.";*/
$e->send();

Where $data contain all data in my form also checkbox

Avatar
Fuzz10

Community Member, 787 Posts

12 February 2009 at 9:47pm

Well.. A very easy way is converting the values to a string .. ;-)

e.g. :

$data['Checkbox_String'] = implode("<br/>",$data['Checkboxes']);