Ich möchte den Benutzernamen drucken und nur die Benutzer-ID kennen. Wie erreiche ich das?
Ich möchte den Benutzernamen drucken und nur die Benutzer-ID kennen. Wie erreiche ich das?
Antworten:
Sie können user_load verwenden oder dies \Drupal\user\Entity\User::load
tun. Der folgende Code bietet die Lösung
public function content() {
$account = \Drupal\user\Entity\User::load('uid'); // pass your uid
$name = $account->getUsername();
drupal_set_message($name);
}
$name
gibt den Benutzernamen des Benutzers an.
$account->getDisplayName()
wird sichergestellt, dass Sie den geänderten Wert des Benutzernamens erhalten.
Wenn Sie in D8 die UID nicht kennen, können Sie Folgendes tun:
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'); }
Es gibt verschiedene Möglichkeiten, den Benutzernamen programmgesteuert abzurufen
$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]);
Sie können verwenden user_load($uid);
Dies gibt ein vollständig geladenes Benutzerobjekt zurück (in D7).
$user = user_load($uid);
print $user->name;
Dies sollte den Benutzernamen drucken.