ฉันใช้ Drupal 9.3.13 บน localhost ฉันสร้าง QR Code ได้สำเร็จตามรูปแบบ .SVG และเก็บภาพนั้นไว้ที่ public:// ฉันสร้างฟิลด์ประเภทต่างๆ ซึ่งหนึ่งในนั้นคือ field_file_svg ประเภทฟิลด์
เป้าหมายคือการแนบรูปภาพที่มีอยู่ที่อัปโหลดไปยังไดเร็กทอรี public:// และแนบไปกับ field_file_svg ฉันใช้ hook_entity_presave()
สำหรับสิ่งนี้. QR Code ถูกสร้างขึ้นและจัดเก็บเรียบร้อยแล้ว แต่โหนดไม่แสดงอะไรเลย
ใน /admin/reports/dblog/ มันพ่นข้อผิดพลาดต่อไปนี้
คำเตือน: การสร้างวัตถุเริ่มต้นจากค่าว่างใน urlist_entity_presave() (บรรทัดที่ 83 ของ C:\MAMP\htdocs\drupal9\modules\custom\urlist\urlist.module)
นี่คือรหัสที่ฉันใช้
$qrcode = (QRCode ใหม่($options))->render("$output");
$file_data = file_get_contents($qrcode);
$file = file_save_data($file_data, 'สาธารณะ://t10.svg', FileSystemInterface::EXISTS_REPLACE);
ถ้า (!empty($file)) {
$file_arr = อาร์เรย์(
"target_id" => $file->id(),
"alt" => "Alt1",
"ชื่อเรื่อง" => "ชื่อเรื่อง 1"
);
$node->field_file_svg = $file_arr;
}