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

error take data from chackbox in email


Reply

5 Posts   1603 Views

Avatar
bebabeba

4 February 2009 at 10:24pm Community Member, 192 Posts

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

5 February 2009 at 8:34pm Community Member, 192 Posts

any one??

Avatar
Fuzz10

5 February 2009 at 11:37pm Community Member, 787 Posts

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

12 February 2009 at 3:28am Community Member, 192 Posts

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

12 February 2009 at 9:47pm Community Member, 787 Posts

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

e.g. :

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