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.

Archive

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

"Tip a friend" form.


Reply

5 Posts   2257 Views

Avatar
Siv

5 November 2008 at 1:49am Community Member, 6 Posts

Have anyone made "tip a friend" form?

The problem is how to send page link or something else to an email adress that comes from a form that user has been filled out on a website - and automatically send the link to that pages the form are on - to the email adress owners email account?

Any tip?

Have a beautyful day :-)

Avatar
Martin Pales

18 November 2008 at 5:54am Community Member, 19 Posts

I am about to work on the same feature. My first idea is to use a custom form validation. I appreciate any help though.

Avatar
Nivanka

18 November 2008 at 6:48am Community Member, 395 Posts

You an do this by creating a custom pagetype,

Just create a new page type, then add the form to that (you can do all the validations there), then on the controller make use of the Email class to send emails,

Use this as a reference

[url]http://doc.silverstripe.com/doku.php?id=Form[/url]

Avatar
Siv

19 November 2008 at 4:22am (Last edited: 19 November 2008 10:34am), Community Member, 6 Posts

Hello fra Norway!

Here is a code for page.php, but the variable/method for catching the pages URL is missing.

Any tip?

The vairable "$TipFriendFrom" must be in the l .ss file where the form shall be placed. I could'nt see anything in the api link over to help us there.

Here is the page.php code:

<?php

class Page extends SiteTree {
static $db = array(
);
static $has_one = array(
);

function TipFriendForm() {
$fields = new FieldSet(
new TextField(
$name = "Name",
$title = "Ditt navn: "
),
new EmailField("Email", "E-post adresse: "),
new HiddenField("Side", $db->URL)
);
$validator = new RequiredFields("Email");
$actions = new FieldSet(new FormAction("tipFriend", "Send tips"));
return new Form($this, "TipFriendForm", $fields, $actions, $validator);
}
}

class Page_Controller extends ContentController {
function init() {
parent::init();

Requirements::themedCSS("layout");
Requirements::themedCSS("typography");
Requirements::themedCSS("form");
}

function tipFriend ($data, $form) {

$from = "system@w3spor.no";
$subject = "Tips fra din venn";
$to = $data["Email"];
$body = $data["Name"] . " har sendt deg følgende link tips: \n" . $data["Side"];

$email = new Email($from, $to, $subject, $body);
$email->send();

Director::redirectBack();

}
}

?>

Avatar
justjc51

20 November 2008 at 1:05am Community Member, 23 Posts

You could also take a look at the Sharethis module http://doc.silverstripe.com/doku.php?id=modules:sharethis I've used it to great effect in my attempts to make the option to send a message to a friend through e-mail or facebook