Verschiedentlich ist bereits der Wunsch geäußert worden, dass Module auf den Header zugreifen können sollten. Mein Feature-Request Extended Header als Standard für SF 1.6 fasst dazu die wichtigsten Aspekte zusammen.
Das von Tiggr entwickelte Plugin Extended Header war eine erste sehr vielversprechende Implementation der verschiedenen Feature-Requests. Das Problem dieser Implementation lag jedoch darin, dass dazu der Core von Sefrengo leicht angepasst werden musste.
Ziel des jQuery Plugins
Dieses Plugin soll demonstrieren, dass Module & Plugins auch ohne Eingriff in den Core in der Lage sind, eigene Informationen in den Header zu schreiben. Es besteht dabei die Möglichkeit, die Reihenfolge der Ausgaben im Header zu steuern.
Es geht hierbei nicht vorrangig um eine Implemetation von jQuery, der Nutzen der o.g. Funktionalität lässt sich jedoch schön am Beispiel von jQuery verdeutlichen.
Idee und Realisierung
Damit Module Informationen in den Header schreiben können, muss es ein zentrales Objekt geben, dass diese Informationen sammelt.
Kernpunkt der Implementation ist dazu die Realisation der jQuery-Klasse als Singleton-Pattern. Dadurch wird das zentrale Objekt erst genau dann erzeugt, wenn es auch wirklich gebraucht wird.
Die Steuerung über Events (wie beim Plugin Extended Header) entfällt damit, was den Eingriff in den Core überflüssig macht.
Fazit
Mit diesem Beispiel möchte ich gerne andere Entwickler anregen, diesen Ansatz weiter zu verfolgen. Eine Weiterentwicklung dieses Plugins ist von mir derzeit nicht geplant.
Neben der allgemeinen Funktionsdemonstration enthält das Plugin bereits einige Ansätze für eine vollständigere Implementation von jQuery. Diese Ideen werde ich bei Interesse gerne weiter ausführen.
Über Feedback (auch von den Core-Entwicklern) würde ich mich freuen.
Viele Grüße
Jan
QUELLTEXT
Pluginname:
---------------------------------------------------------------------------
jQuery
Status:
---------------------------------------------------------------------------
alpha - das Plugin demonstriert nur die Umsetzbarkeit eines
Anwendungsfalles.
Bechreibung:
---------------------------------------------------------------------------
Stellt die jQuery Bibliothek zur Verfügung.
Ermöglich die späte Bindung von Headern durch Module.
Features:
---------------------------------------------------------------------------
- jQuery Version 1.2.1
- Automatische Einbindung von jQuery in den Header
- späte Bindung von Headern durch Module
- Beispielmodul zur Demonstration
Hinweise:
---------------------------------------------------------------------------
Das Plugin wurde bisher nur unter php5 getestet. Das Plugin ist durch
die aktuell verwendete Singleton-Implementation nicht php4 kompatibel.
Eine Verwednung unter php4 kann zum Abstutz führen, daher sollte das
Modul NICHT in Produktivsystemen getestet werden.
Autor(en):
---------------------------------------------------------------------------
Jan Hoffmann
Lizenz:
---------------------------------------------------------------------------
GPL
Benötigte Sefrengo Version:
---------------------------------------------------------------------------
>= 01.04.00 (Sefrengo 1.4 final)
(Möglicherweise auch frühere, wurde aber nicht getestet.)
Installation:
---------------------------------------------------------------------------
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Administration->
Plugins". Wechseln Sie dort in den Bereich "Plugin importieren". Am
unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die
gewünschte "*.cmsplugin"- Datei aus. Mit einem Klick auf das Diskettensymbol
wird das Plugin in das CMS importiert. Das Plugin ist nun innerhalb des CMS
nutzbar.
Update/ Migration:
---------------------------------------------------------------------------
Das automatische Update wurde noch nicht implementiert.
Für ein Update bitte zuerst die vorige Version komplett deinstallieren.
Dokumentation:
---------------------------------------------------------------------------
"Keine vorhanden"
---------------------------------------------------------------------------
jQuery
Status:
---------------------------------------------------------------------------
alpha - das Plugin demonstriert nur die Umsetzbarkeit eines
Anwendungsfalles.
Bechreibung:
---------------------------------------------------------------------------
Stellt die jQuery Bibliothek zur Verfügung.
Ermöglich die späte Bindung von Headern durch Module.
Features:
---------------------------------------------------------------------------
- jQuery Version 1.2.1
- Automatische Einbindung von jQuery in den Header
- späte Bindung von Headern durch Module
- Beispielmodul zur Demonstration
Hinweise:
---------------------------------------------------------------------------
Das Plugin wurde bisher nur unter php5 getestet. Das Plugin ist durch
die aktuell verwendete Singleton-Implementation nicht php4 kompatibel.
Eine Verwednung unter php4 kann zum Abstutz führen, daher sollte das
Modul NICHT in Produktivsystemen getestet werden.
Autor(en):
---------------------------------------------------------------------------
Jan Hoffmann
Lizenz:
---------------------------------------------------------------------------
GPL
Benötigte Sefrengo Version:
---------------------------------------------------------------------------
>= 01.04.00 (Sefrengo 1.4 final)
(Möglicherweise auch frühere, wurde aber nicht getestet.)
Installation:
---------------------------------------------------------------------------
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Administration->
Plugins". Wechseln Sie dort in den Bereich "Plugin importieren". Am
unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die
gewünschte "*.cmsplugin"- Datei aus. Mit einem Klick auf das Diskettensymbol
wird das Plugin in das CMS importiert. Das Plugin ist nun innerhalb des CMS
nutzbar.
Update/ Migration:
---------------------------------------------------------------------------
Das automatische Update wurde noch nicht implementiert.
Für ein Update bitte zuerst die vorige Version komplett deinstallieren.
Dokumentation:
---------------------------------------------------------------------------
"Keine vorhanden"
Klicken um den Anhang anzusehen