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

Cannot display custom form


Go to End
Reply


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