Si por página de inicio te refieres a la página principal, puedes implementarla hook_preprocess_page()
en un módulo personalizado.
function mymodule_preprocess_page(&$variables) {
if ($variables['is_front']) {
drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js');
$variables['scripts'] = drupal_get_js();
}
}
El mismo código funciona en Drupal 7, como $variables['is_front']
se establece en _template_preprocess_default_variables () (llamado desde template_preprocess () ), usando el siguiente código.
// 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;
}
La razón de llamar drupal_add_js()
primero, y luego drupal_get_js()
es que, en el caso de que otro módulo que se ejecute después ejecute el siguiente código, el archivo JavaScript aún se agregará.
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();
}
Usando drupal_add_js()
, el archivo se agregará a la salida devuelta por drupal_get_js () .
<script>
etiqueta en el cuerpo HTML.<front>
página. Esta solución también es buena, pero no para la situación en la que estaba. Gracias.Si el código puede ir en la sección de cabecera, agregue la siguiente función en su template.php.
También puede agregar el siguiente código, en el lugar apropiado de su page.tpl.php.
Hay otras formas de lograr esto, pero esta es probablemente la más fácil.
fuente
En Drupal 7 si desea incluir el js en la etiqueta con el
última solución, el archivo que debe modificar, después de copiarlo dentro de su tema desde la carpeta del sistema, es html.tpl.php .
No estrictamente a la manera de Drupal pero funciona
fuente