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.

Customising the CMS /

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

Newsletter signup form widget

Go to End

3 Posts   3580 Views


Community Member, 81 Posts

2 April 2009 at 4:18am


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(
function doform($data, $form) {
// Create a new Member object and load the form data into it
$member = new Member();

// Write it to the database. This needs to happen before we add it to a group

// Add the member to group. (Check if it exists first)
if($group = DataObject::get_one('Group', "Code = 'mailing-list'")) {

// Redirect to a page thanking people for registering

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?



Community Member, 13 Posts

19 August 2009 at 1:30pm

I'm in the same boat, does anyone have a stable solution for a Newsletter Subscription Widget??


Community Member, 219 Posts

11 June 2011 at 4:06am

this may come in handy for anybody who wants to easily include forms in a sidebar or any other area of the site, without controlling a hidden page:

it also has an easy "query database for existing member" function that isn't covered in the form tutorials...