Drupal 7 - как передать (использовать) значение(я) из php в js-файле темы/модуля

Категория: Drupal
Дата публикации: 26 января, 2018 - 10:02
Последнее изменение: 26 января, 2018 - 10:10

В модуле/теме оформления (то есть в .module или в template.php):

$data_array = [
  'foo' => 'bar',
  'foo2' => 'bar2'
];
drupal_add_js(array('custom_data' => $data_array), 'setting');

Теперь в js-файле строка:

Drupal.settings.custom_data

Будет содержать объект всех значений, которые туда были помещены в модуле или теме.

Еще пример:

Drupal.settings.custom_data.foo

Содержит и возвращает значение уже конкретного элемента.

JS-файл должен быть оформлен по правилам Drupal, то есть с Drupal.behaviors.

(function ($, Drupal, window, document, undefined) {

  Drupal.behaviors.custom_data = {
    attach: function(context, settings) {

        console.log( Drupal.settings.custom_data.foo );

    }
  };
 
})(jQuery, Drupal, this, this.document);

Добавить комментарий