eZ Community » Forums » Developer » Ez5 user registration
expandshrink

Ez5 user registration

Ez5 user registration

Tuesday 06 January 2015 10:29:37 pm - 1 reply

Question 1:

How can I direct the www.example.com/user/register URL to use a custom template and which class handles the form data? I could do this with a Symfony controller and route but I'm not sure how EZ handles the registration process.

Question 2:

I'm used to using doctrine ORM, but it appears EZ uses a different model. I want to add/extend the user details. For example, add an address, phone number etc. What is the usual method of doing this? I would normally create a new table with a foreign key on the user ID. But again, I don't know which class handles the registration.

Please note, I am completely new to EZ though I do have Symfony experience. Once I get my head around how the system works I'll be running. Most google results are for the legacy stack and I'm not sure if it's still relevant for the Symfony stack.

Saturday 10 January 2015 10:36:38 am

Hello Owen,

If your trying to customize the user/register module view (as you say) then you should know you are trying to customize the legacy system (which is of course fine but you should be aware). I do this regularly myself as many of our customers require much more from these views than the default features.

To be clear there is not yet a public replacement (in symfony stack / new stack code) for this feature and eZ Platform (v6) is still some ways away with no clear picture of what it will or will not provide.

So to customize this aspect you will require a number of things. First you will require a legacy bundle extension

https://doc.ez.no/display/EZP/Leg...#Legacycodeandfeatures-Legacybundles

Within this legacy bundle extension you can create custom design templates to override the default templates of the user/register view. You use the custom template to display the additional user details input fields.

To add support to store extended user details you will need to customize your user class using the admin siteaccess (uri, /class/grouplist ). There you can add content class attributes to provide storage for additional user details. Alternatively you can store user details in a separate custom content class content object (say stored below the user) depending on your use case requirements. In most of my work we tend to just store all user details with the user class customized with additional attributes.

Also alternatively (again depending on your use case requirements / needs / desires) you may need to customize a copy of the user/register module view within your legacy bundle extension to provide for the custom code to store your custom user registration user detail input into your user content object.

I've done all of this before and it works really well so I just know you too can accomplish your goals.

For an expert example at a feature rich site using a legacy bundle take a look at this shared example, https://github.com/lolautruche/me.../master/src/MetalFrance/LegacyBundle

If you choose not to use the legacy system you will have to create all of the user registration / creation system implementation yourself within the new stack which seems like a lot of work. I searched the forums and could not find anyone sharing their experiences on this topic but I might have overlooked this.

I hope this helps!

Cheers,
Heath

expandshrink

You must be logged in to post messages in this topic!

36 542 Users on board!

Forums menu

Proudly Developed with from