Score:0

วิธีที่ดีที่สุดในการรับคำนิยามฟิลด์ของประเภทเนื้อหา

ธง in

เมื่อฉันต้องการคำจำกัดความของฟิลด์ประเภทเนื้อหาใน Drupal 8+ ฉันเคยเรียกใช้โค้ดต่อไปนี้ (สำหรับการรับฟิลด์ 'เนื้อหา' ในประเภทเนื้อหา 'หน้า'):

$page_fields = \Drupal::getContainer()->get('entity_field.manager')
               ->getFieldDefinitions('โหนด', 'หน้า'); 
$body_definition = $page_fields['body'];

ฉันได้เรียนรู้ว่าเป็นไปได้ด้วยการเรียกใช้รหัสต่อไปนี้:

$body_definition = \Drupal::entityTypeManager()
                  ->getStorage('field_config')
                  ->โหลด ('node.page.body');

ตอนนี้คำถามของฉันคือ อะไรคือข้อได้เปรียบของอีกสิ่งหนึ่ง? แน่นอนว่าบรรทัดหลังเป็นเพียงบรรทัดเดียว แต่นั่นไม่ใช่จุดจบของเรื่อง ฉันเดา หนึ่งในวิธีเหล่านี้คือ "วิธี Drupal" หรือไม่

Score:2
ธง cn

คำจำกัดความของฟิลด์สามารถกำหนดได้ในที่ต่างๆ ตัวอย่างโค้ดแรกได้รับคำจำกัดความทั้งหมด ตัวอย่างโค้ดที่สองระบุเฉพาะข้อกำหนดของฟิลด์ และค้นหาเฉพาะฟิลด์ที่กำหนดค่าไว้เท่านั้น

บริการ entity_field.manager มีหน้าที่รับผิดชอบในการค้นหาฟิลด์ในหลายๆ ตำแหน่ง การกำหนดค่าและวิธีการต่างๆ มากมายในโค้ด ซึ่งอาจขยายออกไปในอนาคตเพื่อค้นหามากยิ่งขึ้น ดังนั้นการใช้บริการนี้จึงเป็นวิธีที่ทั่วๆ ไปในการรับคำจำกัดความของฟิลด์

ใช้ \Drupal เฉพาะใน hooks ไม่ใช่ในชั้นเรียน จากนั้นคุณสามารถอ้างอิงบริการผ่านทาง \Drupal::service('entity_field.manager')คุณไม่จำเป็นต้องได้รับคอนเทนเนอร์

Paul avatar
in flag
ขอบคุณมากครับ 4k4 ด้วยความอยากรู้อยากเห็น ฟิลด์อื่นสามารถกำหนดได้ที่ไหนหากไม่ได้อยู่ในการกำหนดค่า (db) รวมถึงไฟล์คอนฟิกูเรชันด้วย เช่น มีฟิลด์ที่กำหนดในไฟล์ yml (ยังไม่ได้นำเข้า) หรือไม่
4uk4 avatar
cn flag
ไม่ ผู้จัดการภาคสนามไม่ได้อ่านไฟล์ YAML โดยตรง เฉพาะการกำหนดค่าที่ใช้งานอยู่ใน db โดยปกติฟิลด์ฐานจะถูกกำหนดไว้ในคลาสเอนทิตีและฟิลด์บันเดิลในการกำหนดค่า แต่มีวิธีอื่นอีกมากมายในการสร้างหรือแก้ไขคำนิยามของฟิลด์ ตัวอย่างเช่น สามารถกำหนดเขตข้อมูลบันเดิลในคลาสเอนทิตีได้เช่นกัน นอกจากนี้ในตะขอ แต่นี่ไม่ค่อยได้ใช้

โพสต์คำตอบ

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