Score:1

How to load a file entity by uuid?

ธง us

So I am trying to use the default image for users in a menu block if a custom one does not exist. And for it I am getting the image file uuid:

$default_image = $user->get('user_picture')->getSetting('default_image');

Then loading the file entity:

$file = Drupal::service('entity.repository')->loadEntityByUuid('file', $default_image['uuid']);

This is returning null. What am I doing wrong? And is there a better way to achieve this?

Score:2
ธง ve

นี่อาจเป็นสิ่งที่คุณต้องการ?

ใช้ Drupal\field\Entity\FieldConfig;
ใช้ Drupal\image\Entity\ImageStyle;

ถ้า (FieldConfig::loadByName('user', 'user', $imageFieldName)
  ->getSetting('default_image')['uuid']) {

  $imageStyle = ImageStyle::load('ภาพขนาดย่อ');

  // โหลดการตั้งค่ารูปภาพเริ่มต้น
  $imageGetSettings = FieldConfig::loadByName('ผู้ใช้', 'ผู้ใช้', $imageFieldName)
    ->getSetting('default_image');

  // รับ URI รูปภาพเริ่มต้นจากการตั้งค่า
  $imageURI = Drupal::service('entity.repository')
    ->loadEntityByUuid('ไฟล์', $imageGetSettings['uuid'])
    ->getFileUri();

  // สร้างเส้นทางสไตล์ภาพ
  $imageStyleURL = $imageStyle->buildUrl($imageURI);

  // ตั้งค่า $imageURL
  $imageURL = file_url_transform_relative($imageStyleURL);
}
Jed_BH avatar
us flag
ฉันได้รับ uuid แต่ $imagURI บิตส่งคืนค่าว่าง เวอร์ชันหลักคือ 8.9.14 และฉันพยายามทำสิ่งนี้ใน hook_link_alter
Prestosaurus avatar
ve flag
ฉันทดสอบด้วย `HOOK_link_alter()` ในโมดูลที่กำหนดเอง และเห็น `$imageURL` ของชุดรูปภาพเริ่มต้นในฟิลด์รูปภาพของผู้ใช้ เช่น `/admin/config/people/accounts/fields` คุณช่วยยืนยันได้ไหมว่าคุณเห็น `URI` ที่มี `kint($imageURI)` หรือไม่
Jed_BH avatar
us flag
มันกลายเป็นอย่างอื่น ด้วยเหตุผลบางอย่างแม้ว่ารหัสจะส่งคืน uuid แต่ก็ไม่มีไฟล์ที่แสดงเป็นค่าเริ่มต้นในอินเทอร์เฟซ ฉันอัปโหลดไฟล์ใหม่และใช้งานได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา