Si par page d'accueil vous entendez la première page, vous pouvez l'implémenter hook_preprocess_page()
dans un module personnalisé.
function mymodule_preprocess_page(&$variables) {
if ($variables['is_front']) {
drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js');
$variables['scripts'] = drupal_get_js();
}
}
Le même code fonctionne sur Drupal 7, comme il $variables['is_front']
est défini dans _template_preprocess_default_variables () (appelé depuis template_preprocess () ), en utilisant le code suivant.
// 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 raison de l'appel en drupal_add_js()
premier, puis drupal_get_js()
est que, dans le cas où un autre module exécuté après exécuterait le code suivant, le fichier JavaScript serait toujours ajouté.
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();
}
En utilisant drupal_add_js()
, le fichier sera ajouté à la sortie renvoyée par drupal_get_js () .
<script>
balise dans le corps HTML.<front>
page. Cette solution est également bonne, mais pas pour la situation dans laquelle je me trouvais. Merci.Si le code peut aller dans la section head, ajoutez la fonction suivante dans votre template.php.
Vous pouvez également ajouter le code suivant, à l'endroit approprié de votre page.tpl.php.
Il existe d'autres façons d'y parvenir, mais c'est probablement la plus simple.
la source
Dans Drupal 7 si vous souhaitez inclure les js dans la balise avec le
dernière solution, le fichier que vous devez modifier, après l'avoir copié dans votre thème depuis le dossier système, est html.tpl.php .
Pas strictement la façon Drupal mais fonctionne
la source