2010-07-14 23 views
2

J'ai créé un rôle site-admin pour que mon client puisse modifier le contenu de la page.

Les utilisateurs de ce site sont-ils inclus dans $ is_admin condition? J'ai testé et comme je vois, ce n'est pas à moins que je manque quelque chose. Alors, quelle est l'égalité de $ is_admin pour mes utilisateurs de rôles personnalisés?

Appréciez les aides !! Merci beaucoup

+0

Quelle est la condition de $ is_admin? Où obtenez-vous la variable $ is_admin? Pouvez-vous fournir un code de vérification de cette condition? – jergason

+0

http://www.minezone.org/blog/wp-content/uploads/2009/02/drupal-theming-cheat-sheet.pdf –

Répondre

3

se présente comme suit:

if (user_access('access administration pages')) { 
$variables['is_admin'] = TRUE; 
} 

Selon http://api.drupal.org/api/function/template_preprocess/6

Mais cette autorisation est trop loin, et cela dépend vraiment de ce que vous essayez d'atteindre.

Vous pouvez faire quelque chose comme:

global $user; 

if ($user->uid != 0 && in_array('some_role', $user->roles)) { 
    $user_is_some_role = TRUE; 
} 
+0

Pour D7, voir https://api.drupal.org/api/drupal /includes%21theme.inc/function/_template_preprocess_default_variables/7 – timofey

2

Il est recommandé de ne pas vérifier si un utilisateur a un rôle spécifique, mais si l'utilisateur dispose d'une autorisation spécifique. C'est une règle fondamentale en matière de sécurité: il ne s'agit pas de savoir qui vous êtes, mais de savoir ce que vous êtes autorisé à faire.

La variable $ is_admin est un peu déroutante car le nom suggère qu'elle vérifie un certain rôle. Cependant, le code que Kevin a posté montre que $ is_admin vérifie en fait une permission.

Questions connexes