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.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

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

Cannot display custom form


Reply


899 Views

Avatar
getmizanur

Community Member, 2 Posts

26 July 2010 at 4:16am

Edited: 26/07/2010 4:18am

elloo,

i'm trying to create a simple custom login form however the form is not loading, all i get is a blank page. My code is listed below, can someone tell me what i'm doing wrong.

Many thanks in advance

ps: the form for now excepts FirstName and LastName

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

class LoginPage_Controller extends Page_Controller {
static $allowed_actions = array(
);

public function init() {
parent::init();
}

public function FormBox() {
return new LoginForm($this, 'LoginForm');
}
}

mysite/code/LoginForm

class LoginForm extends Form {
function __construct($controller, $name) {
$fields = new FieldSet(
new TextField('FirstName', 'FirstName'),
new TextField('LastName', 'LastName')
);

$actions = new FieldSet(
new FormAction('submit', 'Submit')
);

parent::__construct($controller, $name, $fields, $actions);
}

function forTemplate() {
return $this->renderWith(array(
$this->class, 'LoginForm'
));
}

function submit($data, $form) {

}
}

themes/blackcandy/templates/Includes/LoginForm.ss

<form $FormAttributes>
<% if Message %>
<p id="{$FormName}_error" class="message $MessageType">$Message</p>
<% else %>
<p id="{$FormName}_error" class="message $MessageType" style="display: none"></p>
<% end_if %>

<fieldset>
<div id="FirstName" class="field text">
<label class="left" for="$FormName_FirstName">First Name</label>
$dataFieldByName(FirstName)
</div>

<div id="Email" class="field email">
<label class="left" for="$FormName_LastName">Last Name</label>
$dataFieldByName(LastName)
</div>

</fieldset>

<% if Actions %>
<div class="Actions">
<% control Actions %>$Field<% end_control %>
</div>
<% end_if %>
</form>