[Résolu] lien dans le menu principal : masquer ou afficher

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour

j'ai un menu principal qui contient différents liens.

En dernier j'ai mi le lien "se connecter" qui pointe vers la page de connexion (?q=user)
Cependant, j'aimerais que ce lien ne soit pas visible pour un utilisateur connecté.

Et inversement, j'aimerais que certains liens ne soient visibles que pour les utilisateurs connectés.

Merci pour votre aide.

Version de Drupal : 

Par défaut si un utilisateur n'a pas les droits d'accès sur un élément, il ne pourra pas voir cet élément.

Il faudra probablement ajouter un module de gestion des accès (par exemple content access http://drupal.org/project/content_access) pour gérer les accès en lecture.

Pour le lien "se connecter", pour qu'il ne soit pas visible, il ne faut pas l'afficher ?!

Merci pour ta réponse.

J'ai bien acces control. J'ai du par contre l'activer pour les node (structure -> type de contenu -> modifier chaque type en sélectionnant "Enable per content node access control settings")

Mais pour mon menu se connecter, j'aimerai qu'il n'apparaisse pas pour les utilisateurs connectés.
Il doit par contre apparaitre pour les utilisateurs non connectés...

Si cela n'est pas possible, je ferai un lien direct à partir du template du modèle (page.tpl.php)

Bonjour,

Vous avez plusieurs possibilités. Le module menu_per_role permet d'afficher des éléments dans un menu en fonction du rôle du user. Il suffirait, dans votre cas, de demander l'affichage de votre lien uniquement pour les utilisateurs connectés et ce serait bon.

Vous pouvez également utiliser le module context, qui permet la même chose et beaucoup plus, à partir là encore d'un contrainte de rôle, permettant d'afficher un type de menu.

Bonjour,

J'aimerais assez savoir comment tu as fais.

En effet, de mon coté j'essaie de remplacer les onglets du menu principal disponibles aux visiteurs par d'autres onglets disponibles pour les utilisateurs.

J'ai bien vu que de base avec le core Drupal on peut n'afficher un menu que l'on a créé que pour des utilisateurs connectés, mais on ne peut pas les mettre à la place du menu principal (zone non proposée dans admin/structure/blocs).

Donc je me suis dit que le module context était peut être la solution. Mais je ne vois pas comment.
J'ai essayé de créer une condition qui dit que quand un utilisateur est connecté, le menu principal disparaît... J'avoue ne pas avoir trouvé l'option le permettant.
Sais-tu comment faire ?
Cela dit, même si j'arrive à faire cela, je ne saurais pas dire qu'il faut que mon autre menu remplace le menu principal...
Tu sembles conquis par context, as-tu réussi à faire ce genre de chose ?

Merci pour ton aide,

vince