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, Ed, biapar, Willr, Ingo, swaiba

Cannot display custom form

Go to End



Community Member, 2 Posts

26 July 2010 at 4:16am

Edited: 26/07/2010 4:18am


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() {

        public function FormBox() {
                return new LoginForm($this, '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) {



<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 %>

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

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


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