Пример изменения дефолтных опций всех диалогов из своей темы:
1. js/jquery.ui.dialog.defaults.js
:
// Способ 1
jQuery.extend(jQuery.ui.dialog.prototype.options, {
'width': 'auto',
'modal': true,
'closeText': Drupal.t('Close')
});
// Способ 2
jQuery.widget('ui.dialog', jQuery.ui.dialog, {
options: {
'width': 'auto',
'modal': true,
'closeText': Drupal.t('Close')
},
});
2. THEMENAME.theme
:
/**
* Implements hook_library_info_alter().
*/
function THEMENAME_library_info_alter(array &$libraries, string $extension): void {
if ($extension == 'core') {
$js_path = '/' . \Drupal::service('extension.path.resolver')->getPath('theme', 'THEMENAME') . '/js/jquery.ui.dialog.defaults.js';
$libraries['drupal.dialog']['js'][$js_path] = [];
$libraries['jquery.ui.dialog']['js'][$js_path] = [];
}
}
3. Сбросить кэш.
Написанное актуально для
Drupal 8+
Комментарии
Вот это полезно, спасибо
Как закрывать попап-окно по нажатию на область вне окна? closeOutside?
Добавить комментарий