Fonctionnalité souhaitée
Supposons que vous ayez des choix de menu qui nécessitent qu'un utilisateur soit connecté, comme Soumettre un article. Vous souhaitez que tous les utilisateurs puissent voir le lien de menu restreint, qu'ils soient connectés ou non. Le comportement souhaité est le suivant.
- Si l'utilisateur est connecté, il accède directement au lien de menu restreint.
- Si l'utilisateur n'est pas connecté, le formulaire de connexion lui est présenté et, une fois la connexion réussie, il continue vers la page restreinte.
- Si l'utilisateur n'est pas enregistré, il a la possibilité de s'enregistrer ou de naviguer vers une autre page.
Solution
Voici comment procéder dans Joomla!.
- Créer un nouveau menu depuis la liste Menus, nommé par exemple Menu caché.
- Ajouter tous les liens de menu qui ne seront accessibles qu'aux utilisateurs enregistrés (par exemple, Soumettre un article). Définir le niveau d'accès requis de ces liens de menu sur Enregistré.
- Ne PAS créer de module pour le Menu caché. Il ne sera affiché sur aucune page, il n'a donc pas besoin de module.
- Créer votre menu réel, nommé par exemple Menu du site, et le lien de menu qui s'affichera pour tous les utilisateurs, par exemple Soumettre un article.
- Le lien de menu aura un type de lien de menu Alias de lien de menu que l'on trouve dans le type de lien de menu Liens système.
- Son paramètre Lien de menu sera le lien de menu Soumettre un article du Menu caché*.
- Le niveau d'accès de ce lien de menu sera Public, puisque tout le monde doit pouvoir le voir et l'utiliser.
- Créer un module pour le Menu du site comme vous le feriez pour n'importe quel menu.
- Si vous souhaitez des sous-menus, assurez-vous d'avoir ajouté les sous-menus dans le Menu du site et non dans le Menu caché.
Désormais, lorsqu'un invité (utilisateur non connecté) accède au choix de menu Soumettre un article, il est redirigé vers la page de connexion. Si la connexion réussit, l'utilisateur est redirigé vers la page restreinte Soumettre un article. S'il est déjà connecté, la redirection est immédiate.
Exemple
Pour les liens de menu suivants :
- Accueil
- Blog
- Wiki
- Annuaire
- Petites annonces
- FAQ
- Boutique
- Contactez-nous
Tous les liens de menu doivent être visibles par tout le monde en frontend, mais les liens 3, 4, 5, 6 et 7 ne doivent être accessibles qu'aux utilisateurs Enregistrés.
Dans ce cas, les liens de menu 3 à 7 sont situés dans le menu caché avec leur paramètre Accès défini sur Enregistré. Les liens 3 à 7 ont des liens de menu de type Alias dans le menu réel avec leur paramètre Accès défini sur Public.