Мы можем добавить JS в drupal, используя следующий метод
1.) По drupal_add_js()
function
drupal_add_js()
- это функция drupal api, включающая js.
Пример:
drupal_add_js('misc/collapse.js');
// добавить файл JS
drupal_add_js('misc/collapse.js', 'file');
// Для включения встроенного JavaScript
drupal_add_js('jQuery(document).ready(function () { alert("Hello!"); });', 'inline');
// Для включения встроенногоjavascript и включающий и включающий его в нижний колонтитул
drupal_add_js('jQuery(document).ready(function () { alert("Hello!"); });', array(
'type' => 'inline',
'scope' => 'footer',
'weight' => 5,
));
// Для включения внешнего JS
drupal_add_js('http://example.com/example.js', 'external');
// Для передачи значения php в JS
drupal_add_js(array(
'myModule' => array(
'key' => 'value',
),
), 'setting');
Пример:
drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js');
для получения дополнительной информации https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_add_js/7.x
2.) При добавлении с помощью API формы
мы можем использовать свойство "#attached"формы API для включения JS
Пример:
$form['#attached']['js'] = array(
drupal_get_path('module', 'ajax_example') . '/ajax_example.js',
);
3.) Добавление JS в информационный файл
Мы можем включить JavaScript в файл сценария
Пример:
name = My theme
description = Theme developed by me.
core = 7.x
engine = phptemplate
scripts[] = mytheme.js
4.) С помощью функции предварительной обработки
если мы хотим условно включить JS, мы можем включить ее в функцию предварительной обработки
function mytheme_preprocess_page(&$vars, $hook) {
if (true) {
drupal_add_js(drupal_get_path('theme', 'mytheme') . '/mytheme.js');
$vars['scripts'] = drupal_get_js(); // necessary in D7?
}
}