Kullanıcı adını kullanıcı kimliğinden nasıl alabilirim? [kapalı]


9

Yalnızca kullanıcı kimliğini bilerek kullanıcı adını yazdırmak istiyorum. Bunu nasıl başarabilirim?


1
Başlığınız yaklaşık 7 ve soru gövdesi 8 civarında. Şimdi net olmayan oylama.
Mołot

Yanıtlar:


17

Bunu yapmak için user_load veya kullanabilirsiniz \Drupal\user\Entity\User::load. Aşağıdaki kod çözümü sağlayacaktır

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

$name kullanıcının kullanıcı adını verir.


1
user_load bağlantısı kaldırıldı, muhtemelen Entity :: load api.drupal.org/api/drupal/…
Ashkar A.Rahman

Kullanmak $account->getDisplayName(), kullanıcı adının değiştirilmiş değerini almanıza yardımcı olacaktır.
Prestosaurus

7

D8'de, kullanıcı adını bilmiyorsanız, bunu yapabilirsiniz:

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

Kullanıcının adını programlı olarak almanın birkaç yolu vardır

$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

Bunu kullanabilirsiniz. user_load($uid); Bu tam yüklü bir Kullanıcı nesnesi döndürür (D7'de).

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

Bu, kullanıcı adını yazdırmalıdır.


Bu satırları ekledikten sonra webiste karşılaşılan hatayı atar. Yukarıdaki kod D7 için çalıştığını düşünüyorum

Soru etiketlendi [8].
wizonesolutions
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.