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're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Form Questions /

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

Adding a second form to the Login Page

Go to End

5 Posts   1633 Views


Community Member, 4 Posts

1 April 2011 at 7:53pm

Edited: 01/04/2011 7:53pm

Hi There,

I've been trying to find a solution to this today without much luck.

I want to display a Member Registration Form next to the User Login Form. So if the user doesn't have an account they can just create one on the same page. I'm considering solving it this way -

How would you go about doing this?


Community Member, 473 Posts

2 April 2011 at 10:28am

I would add the register form to my Page_Controller class (say as function RegisterForm), then create a template in my Layout directory that call both $Form and $RegisterForm


Community Member, 4 Posts

2 April 2011 at 12:26pm

Ahh I see.

I was trying to extend the LoginForm class. I didn't think to add it to the Page_controller instead. IT should be easy then to just update the template with the two forms. That sounds like a hell of a lot easier way of doing it. I'll try it out on Monday.



Community Member, 4 Posts

4 April 2011 at 1:39pm

Edited: 04/04/2011 1:41pm

I've added the form now to the Page Controller and it's displaying in the template but when I submit I get this error message.

The action 'RegistrationForm' does not exist in class Security

Does anybody know how I can add this action to the Security class?. I don't really want to change the core class if I can avoid that.


Community Member, 4 Posts

5 April 2011 at 2:18pm

Edited: 05/04/2011 2:20pm

This was not as easy as I had hoped.

Overriding Security.php's $allowed_actions array worked for the Registration form but then failed for all over actions performed by $LoginForm such as "Logging In" and "Logging Out". It wasn't obvious where these are being set.

To solve this issue I eventually created a RegistrationPage class with the form and included a non-custom $LoginForm into the template.

I then set a default login destination in the config like this.


I then fixed up the template to show a message when logged in / logged out as the default logout action is still to redirect to this template.