Если под домашней страницей вы подразумеваете первую страницу, то можете реализовать ее hook_preprocess_page()
в пользовательском модуле.
function mymodule_preprocess_page(&$variables) {
if ($variables['is_front']) {
drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js');
$variables['scripts'] = drupal_get_js();
}
}
Тот же код работает на Drupal 7, как $variables['is_front']
установлено в _template_preprocess_default_variables () ( вызывается из template_preprocess () ), используя следующий код.
// drupal_is_front_page() might throw an exception.
try {
$variables['is_front'] = drupal_is_front_page();
}
catch (Exception $e) {
// If the database is not yet available, set default values for these
// variables.
$variables['is_front'] = FALSE;
$variables['db_is_active'] = FALSE;
}
Причина вызова drupal_add_js()
сначала, а затем drupal_get_js()
в том, что в случае, если другой модуль, который выполняется после этого, запустит следующий код, файл JavaScript все равно будет добавлен.
function quite_a_different_module_preprocess_page(&$vars) {
drupal_add_js(drupal_get_path('module', 'quite_a_different_mymodule') . '/quite_a_different_module.js');
$vars['scripts'] = drupal_get_js();
}
Используя drupal_add_js()
, файл будет добавлен к выводу, возвращенному из drupal_get_js () .
<script>
тег в тело HTML.<front>
странице. Это решение также хорошо, но не для ситуации, в которой я находился. Спасибо.Если код может идти в разделе заголовка, добавьте следующую функцию в ваш template.php.
Вы также можете добавить следующий код в соответствующем месте вашего page.tpl.php.
Есть и другие способы сделать это, но это, вероятно, самый простой.
источник
В Drupal 7, если вы хотите включить JS в тег с
Последнее решение, файл, который вы должны изменить, после того как вы скопировали его в вашу тему из системной папки, это html.tpl.php .
Не совсем Drupal, но работает
источник