Zum Inhalt springen
TYPO3 Extension

Microtemplate für TYPO3

Micro-Template-Engine für TYPO3: Kleine Textbausteine mit Variablen-Ersetzung. Einfacher als Fluid für simple String-Templating-Aufgaben.

Kostenloses Erstgespräch buchen

Fluid ist manchmal Overkill, wenn man nur einen String mit Variablen füllen will

Nicht jedes Template-Problem braucht die volle Fluid-Engine. Wenn eine E-Mail-Betreffzeile “Hallo {name}, Ihre Bestellung #{orderNumber}” lauten soll oder ein Snippet im Footer “Letzte Aktualisierung: {date}” anzeigen soll, ist Fluid mit ViewHelpers, Layouts und Partials architektonischer Overhead. microtemplate liefert eine minimale Template-Engine für TYPO3, die Variablen in Textbausteinen ersetzt. Kein Fluid, kein TypoScript-Objekt-Pfad, kein Template-File. Ein String mit Platzhaltern, ein Array mit Werten, fertig.

Die Extension ist ein Nischenwerkzeug für Entwickler, die in Extensions oder TypoScript-Konfigurationen einfache String-Substitutionen brauchen, ohne die Fluid-Rendering-Pipeline zu starten. Für Redakteure ist microtemplate nicht direkt sichtbar, es arbeitet im Hintergrund als Utility. Der Anwendungsbereich ist bewusst eng: Wo Fluid die richtige Wahl für komplexe Templates mit Schleifen, Bedingungen und Vererbung ist, deckt microtemplate den simplen Fall ab, in dem ein fertiger String an drei Stellen einen dynamischen Wert braucht.

Typische Einsatzszenarien sind E-Mail-Texte, dynamische Snippets und Konfigurations-Templates

Das häufigste Szenario ist die Generierung von E-Mail-Texten in Extensions. Eine Custom-Extension verschickt Bestätigungs-Mails, und der Betreff und Body sollen konfigurierbar sein, ohne dass der Entwickler Fluid-Templates anlegen muss. microtemplate liest den Text aus einer TypoScript-Konstante (“Bestellung #{orderNumber} bestätigt”) und ersetzt die Platzhalter mit den aktuellen Werten.

Zweites Szenario: Dynamische Text-Snippets in TypoScript-Konfigurationen. Ein Seitentitel-Pattern wie “{siteName} - {pageTitle} | {category}” wird über microtemplate aufgelöst. Das ist einfacher als ein COA mit mehreren TEXT-Objekten und stdWrap-Funktionen.

Drittes Szenario: Konfigurations-Templates für Third-Party-Integrationen. Wenn eine Extension einen API-Endpoint konfigurierbar macht (“https://api.example.com/{version}/users/{userId}”), kann microtemplate die Platzhalter vor dem API-Call ersetzen. Das ist besonders nützlich für Extensions, die mehrere API-Umgebungen (Staging, Production) unterstützen und die Endpoint-Struktur nicht im Code, sondern in der TypoScript-Konfiguration pflegen wollen.

Ein viertes Szenario, das in der Praxis gelegentlich auftaucht: Log-Nachrichten mit strukturiertem Format. Eine Extension schreibt “Import von {count} Datensätzen aus {source} abgeschlossen um {time}” ins TYPO3-Log. microtemplate macht den Log-Text konfigurierbar, ohne dass der Entwickler sprintf-Aufrufe mit positionsbasierten Argumenten pflegen muss.

Technische Architektur ist eine einzige PHP-Klasse mit String-Replacement

microtemplate besteht im Kern aus einer einzigen PHP-Klasse, die str_replace oder preg_replace auf einem Template-String ausführt. Die Platzhalter folgen einer definierbaren Syntax (Standard: {variableName}). Ein assoziatives Array liefert die Werte. Die Klasse hat keine Abhängigkeiten ausser dem PHP-String-Handling.

Die Integration in TYPO3 erfolgt über einen Service oder eine statische Methode, die in anderen Extensions oder TypoScript-Konfigurationen aufgerufen wird. Es gibt kein Frontend-Plugin, kein Backend-Modul und kein Content-Element. microtemplate ist reine Infrastruktur für Entwickler.

Die Performance ist vernachlässigbar: Ein str_replace auf einem 500-Zeichen-String mit 5 Variablen dauert weniger als 0,01ms. Im Vergleich dazu startet die Fluid-Engine für das gleiche Ergebnis einen vollständigen Rendering-Zyklus mit Template-Parsing, ViewHelper-Instanziierung und Caching, was bei 1 bis 5ms liegt. In einem typischen Page-Rendering-Prozess fällt dieser Unterschied nicht auf, aber in Schleifen, die 1.000 E-Mails oder 500 Log-Einträge generieren, wird der Performance-Vorteil messbar.

Die Extension hat keine Datenbank-Tabellen, keine Backend-Module und keine Frontend-Plugins. Sie wird über Composer oder den Extension-Manager installiert und ist sofort einsetzbar. Das macht microtemplate zu einer der leichtgewichtigsten Extensions im gesamten TER (TYPO3 Extension Repository).

Häufige Probleme sind fehlende Escaping-Logik, Syntax-Konflikte und mangelnde Dokumentation

Problem eins: Kein automatisches HTML-Escaping. microtemplate ersetzt Platzhalter 1:1, ohne den eingesetzten Wert zu escapen. Wenn ein Nutzername HTML-Tags enthält (“”), wird das direkt in den Output geschrieben. Die Lösung: Werte vor dem Einsetzen manuell escapen (htmlspecialchars) oder microtemplate nur für interne, nicht nutzergenerierte Daten verwenden.

Problem zwei: Syntax-Konflikte mit Fluid. Wenn microtemplate-Platzhalter ({variable}) in einem Kontext verwendet werden, in dem auch Fluid rendert, versucht Fluid die Platzhalter aufzulösen und wirft einen Fehler. Die Lösung: Unterschiedliche Platzhalter-Syntax verwenden (z.B. {{variable}} oder %variable%) oder sicherstellen, dass microtemplate vor Fluid ausgeführt wird.

Problem drei: Mangelnde Dokumentation und Community-Support. microtemplate ist eine Nischen-Extension mit minimaler Nutzerbasis. Bei Problemen gibt es keine aktive Community, kein Issue-Tracking und keine Stack-Overflow-Antworten. Entwickler müssen den Quellcode lesen, um das Verhalten zu verstehen. In der Praxis führt das dazu, dass jeder Entwickler im Team die Extension anders nutzt, weil keine Konventionen dokumentiert sind.

Ein weiteres Thema: Debugging. Wenn ein Platzhalter nicht ersetzt wird, weil der Key im Array nicht exakt mit dem Platzhalter-Namen übereinstimmt (Gross-/Kleinschreibung, Leerzeichen), gibt microtemplate keine Warnung aus. Der Platzhalter bleibt einfach stehen, und der Entwickler sucht den Fehler an der falschen Stelle. Ein Debug-Modus, der nicht aufgelöste Platzhalter loggt, wäre hilfreich, fehlt aber.

Die Extension ist TYPO3-versionsunabhängig, aber für moderne Projekte gibt es bessere Alternativen

Da microtemplate nur Standard-PHP-Funktionen nutzt, funktioniert die Extension prinzipiell mit jeder TYPO3-Version von v7 bis v13. Die Frage ist eher, ob sie noch nötig ist: Seit PHP 8.0 bietet Named Arguments in Kombination mit sprintf oder str_replace die gleiche Funktionalität ohne Extension. Für komplexere Templates ist Fluid trotz des Overheads die bessere Wahl, weil es Caching, Escaping und Template-Vererbung mitbringt. Gosign setzt microtemplate in Bestandsprojekten nicht aktiv ein und empfiehlt bei Neuimplementierungen, die Funktionalität direkt in der eigenen Extension oder im TypoScript über stdWrap abzubilden.

Kostenloses Erstgespräch: 30 Minuten mit einem TYPO3-Spezialisten

Wir analysieren Ihr Projekt, schätzen Aufwand und Zeitrahmen, unverbindlich, ohne Vorbereitung.

Projekt besprechen , 30 Min, kostenlos

25 Jahre TYPO3-Erfahrung · 800+ Extensions analysiert · KI-beschleunigte Entwicklung

KI-beschleunigte Entwicklung: 65% schneller

TYPO3 Update & DSGVO-Audit

Wir aktualisieren Ihre TYPO3-Installation kostengünstig auf die aktuelle LTS-Version - inklusive aller Extensions, auch veralteter und nicht mehr gewarteter.

Alle Extensions migriert

Auch veraltete, nicht gewartete oder Eigenentwicklungen.

Festpreis-Angebot

Transparente Kosten, keine versteckten Nacharbeiten.

KI-beschleunigt

30-50 % günstiger als marktüblich durch KI-gestützte Code-Analyse.

Null Datenverlust

Komplette Datenmigration mit Rollback-Sicherung.

DSGVO-Audit: Wir prüfen Ihre TYPO3-Installation auf DSGVO-Konformität - Cookie-Consent, Tracking, Extensions, Formulare und Hosting - und setzen alle Maßnahmen kostengünstig um.

Gosign ist eine Hamburger Digitalagentur mit 25 Jahren Erfahrung in TYPO3-Entwicklung. Wir haben über 800 TYPO3 Extensions analysiert und entwickeln heute mit KI-Unterstützung bis zu 70% schneller als mit klassischen Methoden. Unsere Kunden sind mittelständische Unternehmen, Hochschulen und öffentliche Einrichtungen in Deutschland.

Stand: April 2026

Kostenloses Erstgespräch buchen

30 Minuten mit einem TYPO3-Spezialisten, unverbindlich.