ลองนึกภาพโมดูลที่เรียกว่า Configurable Picture คุณต้องการให้กำหนดเส้นทางไปยังรูปภาพผ่าน UI ของผู้ดูแลระบบ เส้นทางคือสตริง ดังนั้นสิ่งแรกที่ต้องทำคือกำหนดค่าสำหรับเส้นทาง ในกรณีนี้วัตถุการกำหนดค่าจะเป็น configuration_picture.settings เส้นทาง_to_ภาพ.
configuration_picture/config/schema/configurable_picture.schema.yml:
configuration_picture.settings:
  ประเภท: config_object
  ป้ายกำกับ: 'การตั้งค่ารูปภาพที่กำหนดค่าได้'
  การทำแผนที่:
    เส้นทาง_to_ภาพ:
      ประเภท: สตริง
      ป้ายกำกับ: 'เส้นทางสู่รูปภาพ'
ขั้นตอนต่อไปคือการสร้างฟอร์มการกำหนดค่าที่อนุญาตให้คุณแก้ไขรายการการกำหนดค่าที่กำหนดไว้ในสคีมาด้านบน นี่คือเอกสารเกี่ยวกับการสร้างฟอร์มการกำหนดค่า: https://www.drupal.org/docs/drupal-apis/configuration-api/working-with-configuration-forms
ด้วยขั้นตอนข้างต้น คุณจะสามารถบันทึกเส้นทางไปยังรูปภาพในหน้าการกำหนดค่าที่คุณสร้างขึ้น
มีสองขั้นตอนที่จำเป็นในการจัดเตรียมการตั้งค่านั้นให้กับไฟล์ JavaScript ประการแรกคือการเพิ่มการพึ่งพา การตั้งค่าหลัก / drupal ไปยังไลบรารี JS ของคุณ
configuration_picture/configurable_picture.libraries.yml:
picture_form:
  จส:
    เส้นทาง/to/file.js: {}
  การพึ่งพา:
    - การตั้งค่าหลัก / drupal
จากนั้น คุณแนบไลบรารีและการตั้งค่าไปยังแบบฟอร์ม:
$form['#attached']['library'][] = 'configurable_picture/picture_form';
// คีย์การตั้งค่าคอนฟิกจะกลายเป็นเนมสเปซภายใน 
// วัตถุ drupalSettings ในไฟล์ JS
$form['#attached']['drupalSettings']['configurablePicture'] = [
  // กำหนดเส้นทางตามค่าที่บันทึกไว้ในการกำหนดค่า:
  'pathToPicture' => \Drupal::config('configurable_picture')->get('path_to_picture'),
];
จากนั้น path/to/file.js สามารถเข้าถึงวัตถุการตั้งค่าดังนี้:
(ฟังก์ชัน ($, Drupal, drupalSettings) {
  ฟังก์ชัน getPathToPicture() {
    กลับ drupalSettings.configurablePicture.pathToPicture;
  }
  // หรือจากวัตถุการตั้งค่าใน Drupal.behaviors:
  Drupal.behaviors.configurablePicture = {
    แนบ: ฟังก์ชัน (บริบท การตั้งค่า) {
      console.log(settings.configurablePicture.pathToPicture);
    }
  };
}(jQuery, Drupal, drupalSettings));