Message d'avertissement

The subscription service is currently unavailable. Please try again later.

Je veux restreindre l'accès à certains item du menu...

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,
Je vous explique mon problème :
je souhaite restreindre l'accès à certains éléments du menu d'administration selon le rôle.
exemple : /admin/build/menu/add
Si j'enlève le droit "administrer le menu" le rôle n'a accès à aucune page commencant par "/admin/build/menu/ "
Si je donne le droit "administrer le menu" le rôle a accès à toutes les pages commencant par "/admin/build/menu/" => "/admin/build/menu/add" "/admin/build/menu/list" "/admin/build/menu/settings"

Je ne trouve aucun module capable de faire ça...
Est ce que cela vient du fait que ce soit des items de menu du type MENU_LOCAL_TASK?

Version de Drupal : 

Menu Per Role ne fonctionne pas dans ce cas là : on ne peut pas restreindre les droits d'accès pour les items qui sont du type MENU_LOCAL_TASK (c'est ceux qui s'affichent sous forme d'onglets)...

Merci
c'est cool.

En fait j'ai fait un mimi module :

/**
* Implementation of hook_perm().
*/
function NOMMODULE_perm() {
    $perms[] = "autoriser ajout/param menu";
return $perms;
}

function NOMMODULE_access() {
    if (!user_access('administer menu')) { return FALSE; }
   if (!user_access('autoriser ajout/param menu')) { return FALSE;   }
  return TRUE;
}

function NOMMODULE_menu_alter(&$items){
    $items['admin/build/menu/add']['access callback'] = 'NOMMODULE_access';
  $items['admin/build/menu/settings']['access callback'] = 'NOMMODULE_access';
}