Come ottenere il ruolo dell'utente attualmente connesso in Drupal 7? Conosci un modo semplice per realizzare questo? Ci sono alcune funzioni fondamentali drupal per questo?Come ottenere il ruolo dell'utente attualmente connesso in Drupal 7?
17
A
risposta
23
È possibile accedere ai ruoli utente da solo utilizzando questo PHP frammento:
<?php $GLOBALS['user']->roles; ?>
9
ho trovato una soluzione interessante per verificare la presenza di molteplici ruoli di un utente:
global $user;
$check = array_intersect(array('moderator', 'administrator'), array_values($user->roles));
if (empty($check) ? FALSE : TRUE) {
// is admin
} else {
// is not admin
}
24
$ user- > ruoli è un array di ruoli che appartengono all'utente codificato dall'ID ruolo, valore è la stringa ruolo. Quindi, se si voleva verificare se l'utente ha avuto ruolo 'utente autenticato' snippet di codice sarebbe simile a questa (non necessariamente l'approccio più ottimizzato, in_array è una funzione piuttosto prestazioni-costoso):
global $user;
if (in_array('authenticated user', $user->roles)) {
//do stuff here
}
noti che in_array può anche accettare un array come "ago" (argomento n. 1) in modo da poter controllare varie opzioni di ruolo:
in_array(array('authenticated user', 'anonymous user'), $user->roles);
1
// Carica l'utente attualmente connesso.
global $user;
print_r($user->roles);//this gives you current user roles
// per verificare se egli è amministratore, è possibile farlo
if (in_array('administrator', $user->roles)) {
// do some stuff
$form['field_end_date']['#disabled'] = FALSE;
}
Problemi correlati
- 1. Come ottenere il ruolo dell'utente attualmente connesso in wordpress?
- 2. Come ottenere l'id utente dell'utente attualmente connesso in Django?
- 3. Ottenere il RUOLO di un utente non connesso TWIG Symfony2
- 4. Dispositivo Bluetooth attualmente connesso Android
- 5. Come ottenere un elenco di ruoli per l'utente attualmente connesso
- 6. Trova l'utente attualmente connesso in Django
- 7. Rails Devise: ottiene oggetto dell'utente attualmente connesso?
- 8. Drupal 7 - entityFieldQuery Order
- 9. Ottieni l'utente attualmente connesso su Windows
- 10. Devo usare Drupal 6 o Drupal 7?
- 11. Come ottengo l'account Windows attualmente connesso da una pagina ASP.NET?
- 12. Come rendere il thread di commento in drupal 7
- 13. Errore Drupal 7: impossibile creare il file
- 14. Come posso ottenere i campi specifici dell'utente attualmente connesso in MVC5?
- 15. UserDetails getPassword restituisce null in spring security 3.1. Come ottenere la password dell'utente attualmente connesso?
- 16. cambia automaticamente il tema Drupal 7 attivo
- 17. Trova il numero di porta attualmente connesso SSH
- 18. Da AWS SDK, come si ottiene il nome utente attualmente connesso (o l'utente IAM)?
- 19. Come si ottengono le credenziali (NetworkCredential) dell'utente attualmente connesso?
- 20. Come verificare se l'utente attualmente connesso è admin o no
- 21. Drupal 7 - Ottenere entità di riferimento con un node_load()
- 22. Drupal 7 views_embed_view e modelli
- 23. Conversione di modello HTML in Drupal 7
- 24. drupal 7 registra automaticamente l'utente in
- 25. tipo DateTime in Drupal 7 schema
- 26. In Django, come si imposta il campo utente in forma all'utente attualmente connesso?
- 27. Drupal 7 Mongo Ricerca Visualizzazioni
- 28. Nascondi titolo Webform in drupal 7
- 29. Carica più file in Drupal 7
- 30. Utilizzo di JQuery in Drupal 7
grazie tua risposta è stata utile per me. grazie. – zhilevan
Sul secondo snippit 'arrayed' needle, [per i documenti] (http://php.net/manual/en/function.in-array.php) e un rapido bit di codice di test, stai chiedendo 'in_array' per verificare se '$ user-> roles' contiene o meno un array di' array ('utente autenticato', 'utente anonimo') ', non i singoli elementi' 'utente autenticato'' o '' utente anonimo'' . [array_intersect()] (http://php.net/manual/en/function.array-intersect.php) farebbe comunque il trucco. –