#3 - Hiding a menu or module once a user is logged in
|By David Attard|
#3 - Hiding a menu or module positions once a user is logged in
Have you ever wanted to hide one of your menus or module / module positions if your users have logged on? The following small template hack will hide your menu once your user has logged on.
The idea behind this is to actually load a particular position (the menu position) only if the user has not logged in:
Joomla 1.5, 2.5 and 3.x
$user =& JFactory::getUser();
This returns the user id of the user. Therefore the code to do this is check whether the current user has a valid id (i.e. they are logged), if not load the module:
if( !$my->id )mosLoadModules ( 'left' );
and should be placed in the index.php of the template you are using (/templates/<yourtemplate>/index.php). The code will hide all modules which are assigned to the left position. If you only want to hide your menu item, you should create an additional position in your template (e.g. hidingmenu), assign your hideable menu to this position and then hide that position only.
if( !$my->id )mosLoadModules ( 'hidingmenu' );