Представьте себе модуль под названием Configurable Picture. Вы хотите, чтобы путь к изображению можно было настроить через пользовательский интерфейс администратора. Путь — это строка, поэтому первое, что нужно сделать, — определить конфигурацию пути. В этом случае объект конфигурации будет configurable_picture.settings путь_к_картинке.
configurable_picture/config/schema/configurable_picture.schema.yml:
configurable_picture.settings:
  тип: config_object
  label: 'Настраиваемые параметры изображения'
  сопоставление:
    путь_к_картинке:
      тип: строка
      label: 'Путь к изображению'
Следующим шагом является создание формы конфигурации, которая позволяет вам редактировать элемент конфигурации, определенный в приведенной выше схеме. Вот документация по созданию форм конфигурации: https://www.drupal.org/docs/drupal-apis/configuration-api/working-with-configuration-forms
Выполнив описанные выше шаги, вы сможете сохранить путь к изображению на созданной вами странице конфигурации.
Чтобы указать этот параметр конфигурации в файле JavaScript, необходимо выполнить два шага. Первый — добавить зависимость к core/drupalSettings в вашу библиотеку JS.
конфигурируемая_картинка/configurable_picture.libraries.yml:
картина_форма:
  js:
    путь/к/file.js: {}
  зависимости:
    - настройки ядра/друпала
Затем вы прикрепляете библиотеку и настройки к форме:
$form['#attached']['library'][] = 'configurable_picture/picture_form';
// Ключ configurableSettings станет пространством имен внутри 
// объект 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, настройки drupal));