Как в Drupal передать переменную из PHP в JS

27 марта 2014 - 15:46

Столкнулся с задачей – передать в Drupal из кода своего модуля значение переменной PHP в код JavaScript. Немного погуглив, нашел подходящее решение на drupal.org:

<?php
  drupal_add_js(array('myModule' => array('key' => 'value')), 'setting');
?>

Теперь чтобы получить в js значение переменной key, нужно достать ее из объекта Drupal:

<script>
  alert(Drupal.settings.myModule.key);
</script>

Вот собственно и все, задача решена.

Комментарии

А что если эта связка не работает?

drupal_add_js(array('imageupload' => array('key' => 'value')), 'setting');
drupal_add_js(drupal_get_path('module', 'imageupload') . '/imageupload.js');

(function($, Drupal, window, document, undefined) {
  alert(Drupal.settings);
})(jQuery, Drupal, this, this.document);

Результат:
http://joxi.ru/RmzXKBDcvKEzAO

Где моя ошибка? Спасибо

Уже стало понятно. Не дождалась подгрузки дома....
На $(document).ready всё работает.

Такую задачу в восьмерке еще не решал, но думаю вам поможет эта ссылка https://www.drupal.org/docs/8/theming-drupal-8/adding-stylesheets-css-an... - https://s3.amazonaws.com/scrstorage/9l30sr6kr2t082719.jpg