Score:0

ฉันจะสร้างช่องทำเครื่องหมายหลายช่องแบบกำหนดเองได้อย่างไร

ธง ke

เมื่อทำตามบทช่วยสอนและเอกสารประกอบ ฉันสามารถสร้างฟิลด์แบบกำหนดเองที่รองรับค่าสตริงเดียวได้ อย่างไรก็ตาม สิ่งที่ฉันต้องการทำให้สำเร็จคือรายการที่กำหนดเอง (โดยเฉพาะอย่างยิ่ง ช่องทำเครื่องหมาย ชนิด) ซึ่งผู้ใช้สามารถเลือกตัวเลือกต่างๆ ได้ ฉันพยายามค้นหาใน core/modules/options schema.yml และการคัดลอกการตั้งค่าพื้นที่เก็บข้อมูลยังคงให้ผลลัพธ์เหมือนเดิม ฉันได้รับข้อผิดพลาด ค่านี้ควรเป็นประเภทดั้งเดิมที่ถูกต้อง

นี่คือสิ่งที่ฉันเชื่อว่าเป็นส่วนของโค้ดที่เกี่ยวข้องที่ฉันมีอยู่ในปัจจุบัน:

ในฟิลด์ประเภท/

  สคีมาของฟังก์ชันสแตติกสาธารณะ (FieldStorageDefinitionInterface $field_definition) {
    กลับ [
      // คอลัมน์มีค่าที่ฟิลด์จะจัดเก็บ
      'คอลัมน์' => [
        'ค่า' => [
          'ประเภท' => 'ข้อความ',
          'ขนาด' => 'ปกติ',
          'ไม่เป็นโมฆะ' => FALSE
          'ซีเรียลไลซ์' => TRUE
        ]
      ]
      'ดัชนี' => [
        'ค่า' => ['ค่า'],
      ]
    ];
  }

ในวิดเจ็ตฟิลด์/

  ฟังก์ชันสาธารณะ formElement (FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
    $sglists = ['1' => 'a', '2' => 'b'];
    $องค์ประกอบ['ค่า'] = $องค์ประกอบ + [
        '#type' => 'ช่องทำเครื่องหมาย',
        '#options' => $sglist,
        '#empty_value' => '',
        '#default_value' => (isset($items[$delta]->value) && isset($sglists[$items[$delta]->value])) ? $items[$delta]->value : NULL,
        '#description' => t('เลือกรายการ Sendgrid'),
      ];

    ส่งคืนองค์ประกอบ $;
  }

ใน schema.yml

field.storage_settings.sendgridlists:
  ป้ายกำกับ: 'รายการ Sendgrid'
  ประเภท: การทำแผนที่
  การทำแผนที่:
    รายการที่เลือกได้:
      ชนิด: ลำดับ
      ป้ายกำกับ: 'รายการที่เลือกได้'
      ลำดับ:
        ประเภท: สตริง

ฉันค่อนข้างแน่ใจว่าปัญหาของฉันมาจาก schema.yml แต่ฉันไม่ค่อยเข้าใจวิธีเปลี่ยนจากค่าเดียวเป็นรายการหลายค่า (คล้ายกับแกน/โมดูล/ตัวเลือก)

ความช่วยเหลือใด ๆ ที่ได้รับความนิยมอย่างมาก รวมถึงลิงก์ไปยังโมดูลการสนับสนุนที่มีอยู่ซึ่งสร้างแบบกำหนดเองได้สำเร็จ ช่องทำเครื่องหมาย ประเภทฟิลด์ที่ฉันสามารถอ้างอิงได้

โพสต์คำตอบ

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