Die Bibliothek „jpGraph“ stellt statistische Kennzahlen grafisch dar.

Die Bibliothek „jpGraph“ stellt statistische Kennzahlen grafisch dar.

Technische Realisierung

Schon zu Beginn der Projektplanung war klar, dass Umfang und Komplexität der Software wie so häufig mit der Zeit steigen würde. Es musste also eine flexible Basis geschaffen werden, mit der eine modulare Erweiterbarkeit garantiert ist. Besonders elementar war deshalb die Trennung von Programmlogik und Ausgabe – im Backend ebenso wie im Frontend. Da für die Entwicklung von Backend-Modulen keine oder nur sehr rudimentäre Templating-Mechanismen mitbringt, wurde die Template Engine „Smarty“ in das TYPO3-Framework integriert. Da Smarty eine auf PHP basierende frei erhältliche Templating-Engine ist, war sie für das Projekt sehr gut geeignet. Zudem bietet Smarty die Möglichkeit, eigene Template-Tags über Smarty-Plugins zu definieren und somit die Engine individuell zu erweitern.

Für die wichtigsten Frontend-Funktionen (Link, Thumbnail, Formular (piVars), Lokalisierung, RTE-Rendering) wurden darüber hinaus Wrapper-Plugins für Smarty entwickelt. Ebenso waren ähnliche Wrapper für einige Backend-Funktionen nötig, um unter anderem das von der TYPO3 Core Engine (TCE) bereitgestellte Formularhandling leicht nutzen zu können. Diese Vorarbeiten ermöglichten anschließend eine gesteigerte Flexibilität und Transparenz der Ausgabe-Schicht von entwickelten Backend-Modulen. Der zukünftige Aufwand für Erweiterungen oder zusätzliche Funktionen wird damit deutlich reduziert.

Die Extension „febe_smarty“

Eine überarbeitete Version der beschriebenen Entwicklung ist im TYPO3 Extension Repository unter dem Schlüssel „febe_smarty“ verfügbar. Sie richtet sich an Entwickler, die eine vollwertige Template-Engine in ihren eigenen Erweiterungen nutzen wollen und die Ausgabe-Schicht komplett im Template auslagern wollen. Die Bildgröße von Thumbnails beispielsweise ist auf diese Weise im Template definiert und nicht im PHP-Code. Die Extension „febe_smarty_example“ erleichtert den Einstieg mit Anwendungsbeispielen und Beispieltemplates.

Fazit

Die Kombination von TYPO3 mit Eigenentwicklungen war für den hier beschriebenen Anwendungsfall ideal. Gerade der Online-Zusammenfluss aus Website, Shop und Auftragsmanagment in einem System bringt viele Vorteile mit sich. Insbesondere die Zeitersparnis im gesamten Auftragsprozess ist durch die individuell programmierte Lösung enorm. Das System hilft dem Unternehmen, die Kunden wesentlich schneller und noch zuverlässiger zu bedienen und durch die Templateausgabe mit Smarty ist das System auch in Zukunft flexibel und erweiterbar. Dojo verbessert die Usability, indem es dabei hilft, die Anzeige der Auftragsdaten im Backend durch dynamisches Nachladen von Inhalten sehr übersichtlich zu gestalten. Der einfachen Integration weiterer Kartenarten in das System steht aufgrund der modularen Konzeption auch in Zukunft nichts entgegen. Das gesamte Projekt wurde auf Basis von TYPO3 4.1 mit Apache, PHP5, MySQL 4, ImageMagick und Ghostscript innerhalb von vier Monaten realisiert.

Technik Zweck
Smarty Realisierung der Front- und Backend Darstellungen mit Hilfe der eigens entwickelten Smarty-Integration „febe_smarty“
Dojo Nachladen von Inhalten innerhalb eines Datensatzes
PEAR Verwendung verschiedener PEAR-Pakete u. a. für die Komprimierung von Daten als ZIP-File
fpdf PHP-Klasse für die dynamische Generierung von PDFs.
jpGraph PHP-Bibliothek zur grafischen Darstellung der statistischen Auswertung.
Seite:  1 2 3

Weitere Artikel zu TYPO3

Softlink 1846

Links und Literatur

Das interessiert dich bestimmt auch

Hilfreiche Ressourcen zu TYPO3

Hilfreiche Ressourcen zu TYPO3

TYPO3 ist mit über 500.000 Installationen, einer Community von mehr als 100.000 internationalen Mitgliedern und über...