Score:0

วนซ้ำบันเดิลเพื่อสร้างเอนทิตีบันเดิลสำหรับแต่ละคลาส

ธง in

ฉันสงสัยว่าใครมีวิธีสร้างคลาสบันเดิลเอนทิตีสำหรับหลายบันเดิลพร้อมกัน ตัวอย่างเช่น:

ฟังก์ชัน MYMODULE_entity_bundle_info_alter(&$bundles) {

  // อาร์เรย์ประเภทเนื้อหาต่างๆ ของฉัน
  $target_bundles = ['หน้า', 'บทความ'];

  // วนซ้ำประเภทเนื้อหา
  foreach($target_bundle เป็น $bundle) {

    $Bundle = ucfirst($มัด); // หน้าไปยังหน้า
    $bundles['node'][$bundle]['class'] = $Bundle::class; // หน้า::คลาส

  }
}

ปัญหาที่ฉันพบคือ $Bundle::คลาส ส่วนหนึ่งไม่ทำงาน เป็นไปได้ไหม

Dylan avatar
kr flag
ฉันคิดว่าคุณตั้งชื่อคลาสผิด ฉันจะแก้ปัญหาการส่งคืนสำหรับ `EntityTypeBundleInfoInterface->getBundleInfo('node);'และอ้างถึง 'ContentEntityStorageBase'
user106977 avatar
in flag
ขอบคุณดีแลน ฉันแก้ไขตัวอย่างโค้ดเนื่องจากมีข้อผิดพลาดบางประการ ข้อผิดพลาดที่ฉันได้รับคือ: **Fatal error:** Cannot use ::class with dynamic class name. สิ่งนี้ทำให้ฉันชี้ไปในทิศทางที่ถูกต้อง ฉันไม่เข้าใจว่า `::class` เพียงแค่ส่งคืนเนมสเปซแบบเต็มของคลาส เมื่อฉันเพิ่มสิ่งนั้นลงในการต่อสตริงสำหรับตัวแปร $Bundle ทุกอย่างก็ใช้ได้ ฉันจะโพสต์รหัสการทำงานในคำตอบ ขอบคุณอีกครั้ง!
Score:1
ธง in

หลังจากที่ลองสำรวจไปรอบๆ ฉันก็พบข้อผิดพลาดที่ฉันได้รับ:
ข้อผิดพลาดร้ายแรง: ไม่สามารถใช้ ::class กับชื่อคลาสไดนามิก

เรื่องสั้นสั้น ๆ ปัญหาของฉันคือฉันไม่เข้าใจสิ่งนั้น ::ระดับ เพียงแค่ส่งคืนเนมสเปซแบบเต็มของคลาสเอง เมื่อฉันเพิ่มในเนมสเปซเต็มของฉัน $มัด ตัวแปรทุกอย่างทำงานได้ดี โค้ดด้านล่างแสดงวิธีที่มีประสิทธิภาพในการกำหนดบันเดิลเอนทิตีหลายรายการให้กับคลาสที่เกี่ยวข้อง

ฟังก์ชัน mymodule_entity_bundle_info_alter(&$bundles) {

  // อาร์เรย์ของชื่อเครื่องประเภทเนื้อหา
  $target_bundles = ['หน้า', 'บทความ'];

  // วนซ้ำประเภทเนื้อหา
  foreach($target_bundle เป็น $bundle) {

    // เปลี่ยน 'page' เป็น 'Page' และเพิ่มเนมสเปซแบบเต็ม
    $Bundle = 'Drupal\mymodule\Entity\' . ucfirst($มัด);

    $bundles['node'][$bundle]['คลาส'] = $Bundle;
  }
} 

โพสต์คำตอบ

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