Drupal позволяет несколькими способами подключать js-скрипты. Актуальные и рабочие примеры приведены ниже.
Сразу стоит упомянуть нюанс по подключению JQuery кода в Drupal 7 - именно кода и скриптов, так как саму библиотеку крайне рекомендуется подключать модулем jquery_update. Чтобы js-код заработал нужно вставлять его вот в такую конструкцию (необходимо только для D7, на более старых версий такого не требуется) -
(function ($) {
Drupal.behaviors.THEMENAME = {
attach: function(context, settings) {
/*Add your js code here*/
alert('hello');
}
};
})(jQuery);
Либо:
(function ($, Drupal, window, document, undefined) {
Drupal.behaviors.my_custom_behavior = {
attach: function(context, settings) {
// Place your code here.
alert('hello');
}
};
})(jQuery, Drupal, this, this.document);
Способ 1. Подключение js-скриптов через .info-файл темы оформления или модуля.
scripts[] = test.js
Это работает в 6 и 7 Drupal, пожалуй, самый быстрый, надежный и простой вариант.
Способ 2. Использование модуля http://drupal.org/project/js_injector (Drupal 7 требует установки модуля ctools). Он идеально подходит для подключения не слишком больших скриптов, к примеру, для каких-то решений на jquery, так как с большим количеством строк будет не удобно манипулировать из админки, вносить туда изменения.
Способ 3. Использование модуля http://drupal.org/project/autoload_js - только для Drupal 7.
Способ 4. Подключение через файл темы template.php или кастомный модуль. Используется следующий код (работает и в 6 и 7 Drupal) -
drupal_add_js(drupal_get_path('theme', 'THEMENAME') .'/test.js');
Способ 5. Подключение через файл-шаблон темы. Удален, так как вариант плох с точки зрения оптимизации скорости загрузки сайта и сжатия всех js скриптов.
Важно! Не забывайте чистить кеш, особенно в D7 все хорошо кешируется даже для админа.