Score:3

การจัดเก็บอาร์เรย์อย่างถูกต้องในวัตถุกำหนดค่า

ธง in

ใน config object ฉันต้องการเก็บอาร์เรย์ของค่าต่างๆ กุญแจมีความสำคัญ ค่าที่จัดเก็บมาจากองค์ประกอบช่องทำเครื่องหมาย ดังนั้นอาร์เรย์จะมีลักษณะดังนี้:

['บทความ' => 'บทความ', 'หน้า' => 'หน้า']

นี่คือโครงร่างการกำหนดค่า:

mymodule.settings:
  ประเภท: config_entity
  ป้ายกำกับ: 'การตั้งค่า Mymodule Breadcrumb'
  การทำแผนที่:
    node_bundles:
      ประเภท: การทำแผนที่
      ป้ายกำกับ: 'ชื่อเครื่องบันเดิล'

สิ่งนี้ดูเหมือนจะใช้งานได้บนพื้นผิว แต่การเรียกใช้ผลการทดสอบการทำงานใน:

ข้อผิดพลาดของสคีมาสำหรับ mymodule.settings โดยมีข้อผิดพลาดต่อไปนี้: mymodule.settings:node_bundles.page ไม่มีสคีมา

ซึ่งทำให้ฉันเพิ่ม:

ป้องกัน $strictConfigSchema = FALSE;

จากนั้นการทดสอบจะผ่าน - แต่ข้อผิดพลาดมาตรฐานการเข้ารหัส Drupal จะถูกเรียกใช้

คำจำกัดความของสคีมาที่เหมาะสมที่ฉันต้องการคืออะไร

Score:4
ธง in

นี่เป็นกรณีสำหรับการใช้ ลำดับ. ซึ่งแตกต่างจากการแมป คีย์เป็นทางเลือกและไม่ต้องอธิบายโดยสคีมา

จาก โครงร่างการกำหนดค่า/ข้อมูลเมตา:

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

นอกจากนี้ในเอกสารเดียวกันนั้น เราเห็นตัวอย่างสำหรับ คำจำกัดความลำดับ. ตัวอย่างที่สอง การกำหนดสคีมาใหม่ดูเหมือนกรณีของคุณมาก

คำจำกัดความของสคีมา:

โดเมน.language_negotiation:
  ประเภท: config_object
  ป้ายกำกับ: 'การเจรจาภาษาโดเมน'
  การทำแผนที่:
    โดเมน_ภาษา:
      ชนิด: ลำดับ
      ป้ายกำกับ: 'โดเมน'
      ลำดับ:
        ประเภท: สตริง
        ป้ายกำกับ: 'การทำแผนที่ด้วยรหัสภาษา'

ตัวอย่างการกำหนดค่าที่สนับสนุนโดยข้อกำหนดสคีมาด้านบน:

โดเมน_ภาษา:
  example_local: th
  one_example_local: af
  two_example_local: af
  three_example_local: th
  four_example_local: th

สำหรับกรณีเฉพาะของคุณ คุณสามารถอัปเดตข้อกำหนดสคีมาของคุณ เช่น:

mymodule.settings:
  ประเภท: config_entity
  ป้ายกำกับ: 'การตั้งค่า Mymodule Breadcrumb'
  การทำแผนที่:
    node_bundles:
      # เปลี่ยนจากการแมปเป็นลำดับ
      ชนิด: ลำดับ
      ป้ายกำกับ: 'ชื่อเครื่องบันเดิล'
      # ใหม่: อธิบายค่าลำดับของคุณ
      ลำดับ:
        ประเภท: สตริง
        ป้ายกำกับ: 'สิ่งที่คุณเรียกว่า "ค่า" ของอาร์เรย์ node_bundles ของคุณ'
Kevin avatar
in flag
ฉันลองเปลี่ยนเป็นลำดับ การทดสอบจึงรายงาน: "ข้อผิดพลาดของสคีมาสำหรับ mymodule.settings ที่มีข้อผิดพลาดต่อไปนี้: mymodule.settings:node_bundles.0 ไม่มีสคีมา "
sonfd avatar
in flag
อัปเดตด้วยสิ่งที่ฉันเชื่อว่าควรแก้ไขปัญหาของคุณ
Kevin avatar
in flag
ได้ผล ขอบคุณ ตอนนี้ฉันเลิกตรวจสอบอย่างเข้มงวดได้แล้ว และเศษผ้าก็เรียบร้อยดี

โพสต์คำตอบ

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