YAML für TemplaVoila

Als wir die erste Version veröffentlicht haben, rechneten wir nicht einmal im Traum mit dem überwältigenden Erfolg. Mehr als 2.000 Downloads im Monat zeigen deutlich, dass die Community Templates für TYPO3 braucht und nur Profis schnell genug sind, jedes Web "from scratch" neu zu entwickeln. Die Welt ist voller Standards und auch im Internet setzen sich Standards immer mehr durch.

Der Erfolg brachte aber auch Probleme mit sich. Jeder stellt an das Template andere Anforderungen und hunderte Zeilen von TypoScript Code, die mit einer t3d Datei importiert werden und vom Anwender geändert werden müssen, werden sehr schnell unübersichtlich. Wenn auch die TypoScript Templates von Anfang an in Extension Templates ausgelagert waren, war es doch nicht immer einfach, gerade Einsteigern die Logik zu vermitteln, die dahinter steckt. Oft war es dann so, dass das Ändern ebenso lange dauerte wie man gebraucht hätte um das Ganze von Anfang an selbst zu entwickeln. Kurz: Es musste eine flexiblere Lösung her.

Warum eine Extension?

Eine Extension hat den Vorteil, dass Änderungen des Anwenders bei einem Update unangetastet bleiben. Auch die Extension besteht zu 98% aus TypoScript Code. Nur liegt es voll und ganz in der Hand des Entwicklers diesen Code zu gestalten. Es muss nicht jede Zeile dokumentiert und erklärt werden, denn der Anwender will damit ohnehin nichts tun haben. Er möchte sich auf seine Arbeit konzentrieren und einen Container abschalten, wenn er ihn nicht braucht. Warum dieser verschwindet, ist aus Sicht des Anwenders völlig unwichtig und das muss er nicht mehr lernen. Das TypoScript kann also wesentlich komplexer ausfallen, weil man es dem Benutzer nicht mehr vermitteln muss.

Trotzdem ist es kein reines "Zusammen-Klick" Template. Denn wenn der professioneller Benutzer es möchte, kann er ohne weiteres den in der Extension vorhandenen TypoScript Code ändern. Die Betonung liegt hierbei auf ändern, denn er löscht nichts, sondern überschreibt es nur. Löscht er seinen eigenen Code, ist der Default-Zustand wieder hergestellt. Die TYPO3 System Extension css_styled_content macht es vor: Jedes Array kann durch eigenes TypoScript zwar überschrieben, aber eben nicht aus dem System entfernt werden. Denn es wird nicht Code in der Extension selbst geändert, sondern im lokalen Setup gespeichert.

Den gleichen Ansatz verfolgt YAML seit der Version 3: Der Kern von YAML soll und darf nicht verändert werden. Die Änderungen am CSS-Code erfolgen an anderer Stelle und werden bei einem Update nicht angetastet. Was liegt also näher, als den YAML-Kern in die Extension aufzunehmen und ihn bei einem Update ebenfalls zu aktualisieren.

Neue Features können problemlos in die Extension eingebaut werden und stehen nach einem Update sofort zur Verfügung, wiederum ohne die vorher gemachten Änderungen des Benutzers zu überschreiben. Dieser äußerst begrüßenswerte Umstand wäre nicht denkbar, würde man keine Extension verwenden.

Neue, auch selbst erstellte, HTML Vorlagen können hinzugefügt und weitere Datenstrukturen und Template Objekte erzeugt werden. Werden die Feld- und Container-Namen beibehalten, ist das Design von schon vorhandenem Inhalt mit einem einzigen Mausklick geändert. Schauen Sie einmal den YAML-Builder an, erstellen Sie Ihre eigenen Vorlagen und erledigen Sie Ihre Arbeit in Zukunft schneller und effizienter.

Wer die Tab-Navigation nicht braucht, möchte sie abschalten. Also musste er den entsprechenden TypoScript Code suchen und ihn entfernen. War er erst einmal weg, gab es kein zurück mehr. Gelöscht ist gelöscht. Ausprobieren und Herumspielen mit den Elementen nach dem Prinzip "Was wäre, wenn?" war so gut wie unmöglich.

Das ist jetzt anders geworden: Jedes Element kann aus- und wieder eingeschaltet werden. Inhalte, die darin schon gespeichert sind, gehen durch das Abschalten nicht verloren. Schaltet man das Element wieder ein, sind auch die Inhalte wieder da.

Das hätte man auch ohne Extension, nur mit TypoScript Code im Setup, erreichen können, aber welcher Anwender hat schon Lust, sich durch diesen Wust an Zeilen zu wühlen und beim geringsten Fehler (löschen Sie mal eine geschweifte Klammer aus 500 Zeilen TypoScript und Sie wissen, was ich meine) die Arbeit von Tagen oder gar Wochen zu verlieren.

Dokumentation und Anleitungen