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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Archive /

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

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

"Tip a friend" form.


Go to End


5 Posts   3225 Views

Avatar
Siv

Community Member, 6 Posts

5 November 2008 at 1:49am

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

Community Member, 19 Posts

18 November 2008 at 5:54am

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

Community Member, 400 Posts

18 November 2008 at 6:48am

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

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

Avatar
Siv

Community Member, 6 Posts

19 November 2008 at 4:22am

Edited: 19/11/2008 10:34am

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

Community Member, 23 Posts

20 November 2008 at 1:05am

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