Drupal Tipp: Javascript richtig einbinden

Bookmark and Share « Diese Seit drucken, verschicken, bookmarken.

Am einfachsten ist es die Javascript Dateien über das Theme einzubinden. Seit Drupal 6 kann man dies über die theme-name.info Datei (jedes Theme besitzt diese Datei im Theme Ordner).

; $Id:$
name = Theme Name
description = Beschreibung
core = 6.x
engine = phptemplate

scripts[] = js/jquery.cycle.all.min.js
scripts[] = js/jquery.cycle.custom.js

Im Beispiel befinden sich die beiden eingebundenen js Dateien im Theme Ordner in einem Unterverzeichnis namens "js".

Javascript mit PHP einbinden

Seit Drupal 6 ist die Methode Drupal.behaviors die beste Möglichkeit Javascript in Drupal einzubinden. Dies stellt sicher, dass auch dynamische Elemente des DOM gefunden und modifiziert werden können. Mit $(document).ready() funktioniert dies leider nicht.

Der Javascript-Code sollte wiederrum mit der PHP-Funktion drupal_add_js eingebunden werden.

  drupal_add_js('
    Drupal.behaviors.irgendeinName = function (context) {
      // Javascript hier!
    };
  ', 'inline');

Dieser Code sollte entweder der Datei template.php im aktiven Theme Ordner platziert werden, oder in einem eigenen Modul. Zum Beispiel über hook_init().

function custom_init() {
  // bindet eine js Datei ein
  drupal_add_js( drupal_get_path('module', 'custom') . '/dateiname.js', 'theme');

  // bindet das Javascript direkt ein
  drupal_add_js('
    Drupal.behaviors.irgendeinName = function (context) {
      // Javascript hier!
    };
  ', 'inline');
}

Bookmark and Share « Drucken, verschicken, bookmarken.

Kommentare

und das soll man so nun verstehen ??? geht das nicht ausführlicher ?

Ja, das soll man verstehen. Aber entschuldigung, natürlich geht das auch ausführlicher:
JavaScript Startup Guide

PS: woher kommt eigentlich diese Erwartungshaltung?

Kommentar verfassen

© 2010 forward-media.de | Impressum | Hintergrundbilder