Gestion des menus / contrôle d'accès

Catégories:

J’ai ajouté un menu dans la colonne de gauche (au même niveau que le menu Navigation) ;
Je voudrais que ce nouveau menu soit accessible seulement aux utilisateurs authentifiés sur mon site, mais je ne parviens pas à réaliser ce paramétrage.
Quelqu’un peut-il me donner un tuyau ?

#

Merci à tous ceux qui se sont manifesté, avec un rare empressement…

Pour ceux qui auraient voulus m’aider mais n’ont pas osé, c’est trop tard : LE SUJET EST CLOS.

Adieu

#

Dommage que ce soit clos ainsi, la réponse m’aurais bien intéressé… ;)

#

Bonjour,

Une façon de faire :

Créer un bloc en code PHP comme format d’entrée.
Y saisir le code suivant :

<?php
global $user;

On teste si l’utilisateur est enregistré en vérifiant qu’il possède un identifiant :

if ($user->uid) {

Si oui on entre dans une variable (ici $menu) le code HTML du menu.
Ici on place un test au cas où le menu soit vide :

    if ($menu = theme_menu_tree(2)) {

Il faut remplacer ci-dessus 2 par l’identifiant du menu que l’on veut afficher (On peut le voir dans l’interface de gestion des menus en survolant le lien ‘éditer’).
Si le menu existe, on l’affiche :

    $menu = "<div class=\"menu\">". $menu . "</div>";
   return $menu;
   }

Si le menu n’existe pas, on ne retourne rien :

else {return;}

Si l’utilisateur n’est pas enregistré, on ne retourne rien :

} else {
    return;
}
?>

Si l’on ne retourne rien, le bloc sera vide et donc ne sera pas affiché par Drupal.

Est-ce bien ce que vous vouliez ? Il est possible de l’ajuster.
Ce code est testé sous 4.6 et 4.7 beta 5.

Remarque : j’ai vu ce sujet trop tard pour régler le problème initial, et je m’en excuse. Je trouve votre réaction quelque peu excessive, d’autant que ce site est avant tout dédié à la traduction de Drupal, et qu’en général les réponses aux questions d’installation, de configuration arrivent tout de même très vite (grâce à d’autres membres que moi, très actifs, qui se reconnaîtront et que je remercie).
Au plaisir de pouvoir répondre (à temps je l’espère) à vos futures questions.

#

Geeloo, merci pour les autres. ;-)

Toujours être ailleurs…

#

Encore merci !

Je ne crois pas qu’il y ai à regretter quelqu’un qui a une telle réaction.

Quant au fait qu’il ne s’agisse pas d’un up, et qu’il ne se soit même pas écoulé 24h entre les 2 posts…

Bon débarras !!

#
Syndiquer le contenu