von Stefan Dissmer und Alexander Brausewetter, 03.06.2008

Praxistipps und Kniffe zur Integration: Firefox-Erweiterungen für TYPO3

Aus dem
t3n Magazin Nr. 12

Jetzt kaufen

Saubere Trennung vermeidet späteres Chaos

Das ausgeklügeltste Architekturmuster hilft nichts, wenn der Quellcode nicht sauber organisiert ist. Die Trennung von XML und JavaScript in verschiedene Dateien vermeidet von Anfang an Chaos und erleichtert die spätere Wartung. Es empfiehlt sich, die Funktionen und Klassen nach Domäne zu separieren: Für jeden funktionellen Block wird eine eigene Gruppe von Dateien angelegt. Das gilt für alle Ressourcen wie XUL, JavaScript, CSS, Grafiken und Übersetzungen.

Eine Übersicht der Dateien, die im Ordner der q-zilla-Extension zu finden sind, zeigt die folgende Tabelle:

Datei Beschreibung
chrome.manifest Identifikation von den Extension-Dateien und deren Funktionen
install.rdf Beschreibung und Versionsinfos
content/
options.js JavaScript-Logik für das Einstellungsfenster
options.xul Einstellungsfenster
overlay.xul Elemente, die dem Browserfenster zugefügt werden, z. B. Menüeinträge
qzilla.js JavaScript-Logik für das Hauptfenster
qzilla.xul Hauptfenster der Extension
locale/en-US
qzilla.dtd Übersetzungen und Lokalisierung
skin/
qzilla.css Layouteinstellungen

Firefox und TYPO3 verbinden

Ähnlich wie AJAX-Anwendungen benutzen Firefox-Erweiterungen den XMLHttpRequest zum Laden externer Daten. Formate wie XML und JSON eignen sich durch ihre einfache Integration in JavaScript besonders gut zur Übertragung. Stehen die Daten bereits als RSS-Feed zur Verfügung, wie zum Beispiel für die TYPO3-Nachrichtenverwaltung (tt_news), ist serverseitig keine weitere Modifikation nötig. Im Code selbst werden die XML-Daten der Erweiterung als DOM-kompatibler Dokumentbaum abgerufen, der wie das „document“-Element in Webseiten aufgebaut ist.

Listing 1 zeigt das Auslesen eines RSS-Feed mit dem DOM-Baum eines XMLHttpRequest:

Seite:  1 2 3 4