ฉันจะรับชื่อผู้ใช้จาก ID ผู้ใช้ได้อย่างไร [ปิด]


9

ฉันต้องการพิมพ์ชื่อผู้ใช้ที่รู้เพียงแค่ ID ผู้ใช้ ฉันจะบรรลุสิ่งนี้ได้อย่างไร


1
ชื่อของคุณอยู่ที่ประมาณ 7 และมีเนื้อหาถามเกี่ยวกับ 8. การลงคะแนนใกล้จะไม่ชัดเจนในขณะนี้
Mołot

คำตอบ:


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()จะช่วยให้คุณมั่นใจว่าคุณจะได้รับชื่อผู้ใช้ที่มีการเปลี่ยนแปลง
Prestosaurus

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;

ควรพิมพ์ชื่อผู้ใช้


มันมีข้อผิดพลาด webiste พบหลังจากเพิ่มบรรทัดนี้ ฉันคิดว่ารหัสข้างต้นใช้งานได้กับ D7

คำถามถูกแท็ก [8]
wizonesolutions
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.