0

I'm wondering how i can create a User Area for users to login and gain access to a user panel (where user can update their info and specfic/custom actions). Because the Joomla user login functionality actually doesn't do much (as far as i know, if someone can make more clarifications on how this works...).

I mean i don't think Joomla can provide what i need so i have to create a new MVC for that, right?

So my question is:

  1. The correct way to do it should be creating/extending a component using MVC (with login view, panel view, etc)?

  2. If so, can i take advantage of the Joomla user login system using the same username and password previously set by the user or i should create a new table for users to signup/login?

Or is there any other way to get it done? And what are the best practices for it.

So in short, what i want is: a user logs in then has access to an exclusive and customizable user area. Is this possible by, somewhow, extending the core's Joomla login/registration system or i have to create a new MVC (in a custom component) for that? If so, should i create a new table or use Joomla's users table?

2
  • 2
    "all that kind of things" ...please define exactly what you are trying to do. The less vague you are, the easier it is for volunteers to help you. Should you create a separate user table from the core's table? I'd say in 99.999% of cases that it is wasteful to scrap the core's user login/registration system. Apr 14, 2020 at 21:11
  • Yes i mean, let's say i want to create a custom user area for user to perform actions (certain actions); i will probably have to create a new MVC for that, right? If so, should i create a new table for user to register and login to this user area or i can use the core's user login/registration system as you said? Because i will probably have to create a new MVC anyway for the user area because i want the users to perform custom actions. Might be a simple question but i really don't know what to do especially when it comes about the login/registration. Should i create a new table or not? Apr 15, 2020 at 11:15

1 Answer 1

2

Two questions:

  • Do you want your users log in front or backend of your site?
    The workflow is a little different for each scenario.
  • What user functionality you want?, or want to extend?, once the user has logged in.


To provide this to your users you need already establish your user groups.

The first case: if you want to provide a "user menu" in the front-end:

  1. Create a new menu in Menus > Manage > Add new Menu
    Here you need to select if the menu is for front or backend.
  2. Create the menu items for the user menu.
    Here you can see the available options:

Menu items available for user menu

  1. Now, you need to establish the access level, assign each menu item to your user group.

  2. Assign you user menu to one menu module.
    Create a new menu module in Extensions > Modules > New > Menu, inside select the user menu, select the position in your template and select the access level for your user group.

  3. Extend the user profile.
    Go to Extensions > Plugins > User - Profile, From here you can find more options available, let's say that I need a Zip Code or Country info from my users, well, here you have this options, let's say that I need to know their favorite star wars movie, well, you also can override the text string to the info you want.

Hope this helps as a starting point.

8
  • Thank you for your answer, that helps too, but i want something more "advanced". I actually i wanted a custom user area (like user panel where they can perform certain actions). How can i achieve this? By creating a new MVC? If so, should i create a new table for users or use Joomla user table? Apr 15, 2020 at 11:11
  • Yes exactly. I want the user to perfom certain actions. Is there any possibility to extend the core's login/user panel system or should i create a new MVC for that? What's the best option. And should i create a new table for that or not? According to @mickmackusa, this is not a good idea. Because i actually don't know about the Jooml'as login stystem but as far as i know it doesn't provide much. Apr 15, 2020 at 11:24
  • Hi @Thiago, please explain us what you mean with "perform certain actions". Apr 15, 2020 at 23:55
  • 1
    Ok, Maybe the best option here is create your own MVC component, in this way you can add Backend actions and extend it with the standard Form fields. Follow the Secure Coding Guidelines and the Development Best Practices. Apr 16, 2020 at 21:17
  • 1
    Since it's a new extension, I would go the way of creating a new one. Apr 17, 2020 at 17:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.