Wenn Sie unter Startseite die Startseite verstehen, können Sie diese hook_preprocess_page()
in einem benutzerdefinierten Modul implementieren .
function mymodule_preprocess_page(&$variables) {
if ($variables['is_front']) {
drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js');
$variables['scripts'] = drupal_get_js();
}
}
Auf Drupal 7 funktioniert derselbe Code wie $variables['is_front']
in _template_preprocess_default_variables () (aufgerufen von template_preprocess () ) unter Verwendung des folgenden Codes.
// 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;
}
Der Grund für den drupal_add_js()
ersten Aufruf und dann drupal_get_js()
ist, dass für den Fall, dass ein anderes Modul, das danach ausgeführt wird, den folgenden Code ausführen würde, die JavaScript-Datei weiterhin hinzugefügt wird.
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();
}
Mit drupal_add_js()
wird die Datei zu der von drupal_get_js () zurückgegebenen Ausgabe hinzugefügt .
<script>
Tag in den HTML-Body ein.<front>
Seite angezeigt wurde. Diese Lösung ist auch gut, aber nicht für die Situation, in der ich war. Danke.Wenn der Code in den Kopfbereich gelangen kann, fügen Sie die folgende Funktion in Ihre template.php ein.
Sie können auch den folgenden Code an der entsprechenden Stelle Ihrer page.tpl.php hinzufügen.
Es gibt andere Möglichkeiten, dies zu erreichen, aber dies ist wahrscheinlich die einfachste.
quelle
In Drupal 7, wenn Sie die js in das Tag mit dem aufnehmen möchten
Die letzte Lösung, die Datei, die Sie ändern müssen, nachdem Sie sie aus dem Systemordner in Ihr Design kopiert haben, lautet html.tpl.php .
Nicht streng nach Drupal, sondern funktioniert
quelle