Если под домашней страницей вы подразумеваете первую страницу, то можете реализовать ее 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 () .