I’m building up a custom component, which should only be accessible to logged in users. I’m thinking about checking JFactory::getUser()->guest and if is set, redirect them to a custom page.
Now i prefer this page to contain both register and login options, but joomla itself does not seem to have this feature. Do i have to make this functionality to my custom component, or there is an another solution?
You should really use the built in ACL to control user access instead of trying to code it in yourself. That’s kind of the whole point of having the ACL to begin with. Here’s the tutorial for how the ACL works in the admin and front end of a site –
http://docs.joomla.org/ACL_Tutorial_for_Joomla_1.6
Here is the tutorial for adding ACL to a component –
http://docs.joomla.org/Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!1.7_-_Part_14
I think you will be much better served using the ACL system as it allows you a lot more flexibility – like adding additional user groups and permissions later without having to touch the code.
Once you have this set up, making a custom register or login page is as easy as a template override of the default com_user login view. You would need to combine these files –
For the login part of the page:
For the registration part of the page:
Then put the new and improved file here:
That would give you ACL controlled access to your component as well as a custom login/registration page without having to muck around with any unnecessary extensions.