Come ottengo il nome utente dall'ID utente? [chiuso]


9

Voglio stampare il nome utente conoscendo solo l'ID utente. Come posso raggiungere questo obiettivo?


1
Il tuo titolo è di circa 7 e il corpo delle domande di 8. Di voto per chiudere come poco chiaro ora.
Mołot,

Risposte:


17

Puoi usare user_load o \Drupal\user\Entity\User::loadper farlo. Di seguito il codice fornirà la soluzione

 public function content() {
     $account = \Drupal\user\Entity\User::load('uid'); // pass your uid
     $name = $account->getUsername();
     drupal_set_message($name);
 }

$name fornisce il nome utente dell'utente.


1
il link per user_load è deprecato, probabilmente dovresti usare Entity :: load api.drupal.org/api/drupal/…
Ashkar A.Rahman

L'utilizzo $account->getDisplayName()ti aiuterà a ottenere qualsiasi valore alterato del nome utente.
Prestosaurus

7

In D8, se non conosci l'UID, puoi farlo:

function test_user_login(\Drupal\Core\Session\AccountInterface $account) {
   $account = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
   $user = $account->get('name')->value;
   drupal_set_message($user, 'status'); }

1

Esistono diversi modi per ottenere il nome dell'utente a livello di codice

$account = \Drupal\user\Entity\User::load(1); // pass your uid    
//1 
drupal_set_message($account->name->value);    
//2
drupal_set_message($account->get("name")->value);    
//3
drupal_set_message($account->getUsername());
//4
drupal_set_message($account->name->getValue()[0][value]);

0

È possibile utilizzare user_load($uid); Questo restituirà un oggetto Utente completamente caricato (in D7).

$user = user_load($uid);
print $user->name;

Questo dovrebbe stampare il nome utente.


Genera errore webiste riscontrato dopo l'aggiunta di queste righe. Penso che il codice sopra

La domanda è taggata [8].
wizonesolutions,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.