В друпале существует достаточно простой способ передачи каких-либо настроек из сервер-сайда на фронт-енд, другими словами из PHP в JavaScript.
<?php
$settings = array(
'module_name' => array(
'my_setting' => variable_get('module_name_my_setting', ''),
)
);
drupal_add_js($settings, 'setting');
Настройки также будут переданы на клиент по ajax-запросу. Для этого нужно прописать этот код в функцию ajax-callback или, например, в hook_init. Как создать ajax-callback можно подсмотреть в статье Как создать свою ajax-команду.
Теперь можно использовать эти настройки.
(function ($, Drupal) {
"use strict";
Drupal.behaviors.module_name = {
attach: function(context, settings) {
var my_setting = settings.module_name.my_setting;
console.log(my_setting);
}
}
})(jQuery, Drupal);
Здесь есть один нюанс, в переменной settings будут лежать только те настройки, которые были переданы вместе с ответом. Например, если ajax-ответ не возвращает необходимую настройку, то её можно получить по-другому.
var my_setting = Drupal.settings.module_name.my_setting;