HI,
Id like to create some specific user forms for my site. I tried the userdefinedform module which is great to handle in the admin area but lacks the ability to design and apply ur own template to the form.
I therefore started to create my own user form following these 2 tutorials:
http://blog.mike-wittje.de/2009/06/11/formularerstellung-mit-silverstripe/
http://www.ssbits.com/creating-a-simple-contact-form/
Now I would like to add the tabs and functionality simialr to the userdefinedfrom to my form:
class SampleFormPage extends Page
{
static $db = array(
'Mailto' => 'Varchar(100)',
'SubmitText' => 'Text'
);
static $has_many = array(
"Submissions" => "SubmittedForm",
"EmailRecipients" => "UserDefinedForm_EmailRecipient"
);
function getCMSFields() {
$fields = parent::getCMSFields();
// define tabs
$fields->findOrMakeTab('Root.Content.EmailRecipients', _t('EMAILRECIPIENTS', 'Email Recipients'));
$fields->findOrMakeTab('Root.Content.OnComplete', _t('ONCOMPLETE', 'On Complete'));
$fields->findOrMakeTab('Root.Content.Submissions', _t('SUBMISSIONS', 'Submissions'));
// view the submissions
$fields->addFieldToTab("Root.Content.Submissions", new CheckboxField('DisableSaveSubmissions',_t('SAVESUBMISSIONS',"Disable Saving Submissions to Server")));
$fields->addFieldToTab("Root.Content.Submissions", new SubmittedFormReportField( "Reports", _t('RECEIVED', 'Received Submissions'), "", $this ) );
// who do we email on submission
$emailRecipients = new ComplexTableField(
$this,
'EmailRecipients',
'EmailRecipient',
array(
'EmailAddress' => _t('EMAILADDRESS', 'Email'),
'EmailSubject' => _t('EMAILSUBJECT', 'Subject'),
'EmailFrom' => _t('EMAILFROM', 'From')
),
'getCMSFields_forPopup',
"FormID = '$this->ID'"
);
$emailRecipients->setAddTitle(_t('AEMAILRECIPIENT', 'A Email Recipient'));
$fields->addFieldToTab("Root.Content.EmailRecipients", $emailRecipients);
// text to show on complete
$onCompleteFieldSet = new FieldSet(
new HtmlEditorField( "OnCompleteMessage", _t('ONCOMPLETELABEL', 'Show on completion'),3,"",_t('ONCOMPLETEMESSAGE', $this->OnCompleteMessage), $this )
);
$fields->addFieldsToTab("Root.Content.OnComplete", $onCompleteFieldSet);
return $fields;
}
}
class SampleFormPage_Controller extends Page_Controller
{
function SampleForm()
{
return new SampleForm($this,'SampleForm');
}
}
The tabs appear but I won't get the email adding, the onsubmission text and the submission to work.
Can anyone help me out, show where i can find the answer or even know a better way to about this?
Your will be very much appreciated...
Plautzer