Як отримати ім'я користувача з ідентифікатора користувача? [зачинено]


9

Я хочу роздрукувати ім'я користувача, знаючи лише ідентифікатор користувача. Як я цього досягти?


1
Ваш заголовок - близько 7, а орган запитання - близько 8. Голосування про закриття як зараз незрозуміле.
Молото

Відповіді:


17

Ви можете використовувати user_load або \Drupal\user\Entity\User::loadзробити це. Нижче код надаватиме рішення

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

$name дає ім’я користувача.


1
посилання на user_load амортизується, ймовірно, ви повинні використовувати Entity :: load api.drupal.org/api/drupal/…
Ashkar A.Rahman

Використання $account->getDisplayName()допоможе вам отримати будь-яке змінене значення імені користувача.
Престозавр

7

У D8, якщо ви не знаєте uid, ви можете зробити це:

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

Існує кілька способів отримати ім’я користувача програмно

$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

Ви можете використовувати user_load($uid); Це поверне повністю завантажений користувальницький об’єкт (у D7).

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

Це має надрукувати ім'я користувача.


Після додавання цих рядків у веб-системі виникає помилка. Я думаю, що вище код працює для D7

Питання позначено тегами [8].
wizonesolutions
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.