Hey
Im trying to build a widget which allows people to sign up to a newsletter iv been able to build a form which does this on a page but cant get it to work as a widget.
This is the code iv been using to generate the form on a page which all works fine
function NewsletterForm() {
return new Form($this, "FormJoin", new FieldSet(
// List the your fields here
new EmailField("Email", "Enter your email address: ", "")
), new FieldSet(
// List the action buttons here
new FormAction("doform", "Subscribe")
), new RequiredFields(
"Email"
));
}
function doform($data, $form) {
// Create a new Member object and load the form data into it
$member = new Member();
$form->saveInto($member);
// Write it to the database. This needs to happen before we add it to a group
$member->write();
// Add the member to group. (Check if it exists first)
if($group = DataObject::get_one('Group', "Code = 'mailing-list'")) {
$member->Groups()->add($group);
}
// Redirect to a page thanking people for registering
Director::redirect('/thanks-for-joining');
}
but i cant work out how to do the same for a widget it doesnt work if i put the code in the widgets file and i cant access it from the widget if its stored in page.php any ideas on how i could do this?
thanks