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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Form Questions /

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

error take data from chackbox in email


Go to End


5 Posts   2551 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, 791 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, 791 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']);