Score:0

คุณสมบัติประเภทฟิลด์แบบกำหนดเองที่เติมข้อมูลโดยข้อมูลที่ดึงมา

ธง kr

ฉันมีประเภทฟิลด์ที่กำหนดเอง org_personด้วยการตั้งค่าการเติมข้อความอัตโนมัติเพื่อค้นหาจุดสิ้นสุดของ "ผู้คน" มันบันทึกบางอย่างเช่น จอห์น สมิธ (12345) ถึงคุณสมบัติค่า (คุณสมบัติ $['มูลค่า']).

จุดสิ้นสุดมีลักษณะดังนี้:

[{id, name, title, ...}, {id, name, title, ...},...]

เป้าหมายของฉันคือ ในการบันทึกเอนทิตี (และ cron) ค้นหาจุดสิ้นสุดของฉันและบันทึกคุณสมบัติมากกว่า 30 รายการลงในฐานข้อมูล

ฉันต้องสามารถกรองและจัดเรียงค่าเหล่านี้ในมุมมองได้ ซึ่งเป็นเหตุผลว่าทำไมการคำนวณข้อมูลนี้แบบเรียลไทม์จึงไม่อยู่ในตาราง

ตามที่ฉันเข้าใจ ฉันต้องตั้งค่าคลาสของคุณสมบัติที่จะใช้สำหรับสร้างมูลค่าคุณสมบัติ สิ่งที่ต้องการ:

    $properties['name'] = DataDefinition::create('ใดๆ')
      ->setLabel(ใหม่ TranslatableMarkup('ชื่อ'))
      ->ตั้งค่าการคำนวณ (จริง)
      ->ตั้งค่าอ่านอย่างเดียว(จริง)
      ->setClass('\Drupal\my_module\TypedDataName');

จากนั้นในของฉัน TypedDataName Class ฉันได้รับค่าเช่น:

  ฟังก์ชั่นสาธารณะ getValue () {
    ถ้า ($this->ประมวลผล !== NULL) {
      กลับ $this->ประมวลผล;
    }

    $values ​​= $this->getParent()->getValue();
    $submitted_value = $values['ค่า'];

    $id = EntityAutocomplete::extractEntityIdFromAutocompleteInput($submitted_value);

    // เรียกใช้การดึงข้อมูลที่นี่เพื่อรับคุณสมบัติ 'ชื่อ'
    $response = $this->_fetchName($id);
    $value = $response[0]["ชื่อ"];

    $this->ประมวลผล = $value;

    กลับ $this->ประมวลผล;
  }

ใช้งานได้แม้ว่าจะดูเหมือนว่ากำลังทำงานบนจอแสดงผลแทนที่จะดึงจากฐานข้อมูล

นอกจากนี้ หากฉันเพิ่มพร็อพเพอร์ตี้อื่น เช่น ชื่อ (หรือส่วนที่เหลือ) มันจะเรียกใช้การดึงข้อมูลนี้ ทั้งหมด คุณสมบัติ.

สิ่งนี้สามารถทำได้ด้วยการดึงข้อมูลเพียงครั้งเดียวเพื่อเติมคุณสมบัติ 30+ ในการบันทึก

in flag
คุณได้ดูโมดูลฟีดแล้วหรือยัง

โพสต์คำตอบ

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