Grid View als Templateselector in TYPO3 4.5 LTS

Der nachfolgende Typoscript-Code ermöglicht es, das das Grid View von TYPO3 wie die Extension „Page Template Selector“ von Robert Lemke funktioniert. Je nach ausgewähltem Backend-Layout wird das passende Frontend-Template verwendet.

page.10 = TEMPLATE
page.10 {
  template = CASE
  template {
	key.cObject = TEXT
	key.cObject {
	  field = backend_layout
	  ifEmpty.cObject = TEXT
	  ifEmpty.cObject.data = levelfield: -2, backend_layout_next_level, slide
	}
	1 = FILE
	1.file = fileadmin/templates/startseite.html
	2 = FILE
	2.file = fileadmin/templates/zweispaltig.html
	default = FILE
	default.file = fileadmin/templates/allgemein.html
  }
}

Die Zeile „ifEmpty.cObject.data = levelfield: -2, backend_layout_next_level, slide“ sorgt dafür, dass das entsprechende Template der aktuellen Seite verwendet wird. Ist auf der aktuellen Seite kein Backend-Layout gesetzt, wird die darüber liegende Seite geprüft. Ist dort ein Template vorhanden, wird dies verwendet, andernfalls wird wiederum die Seite darüber abgefragt. Liegt kein Backend-Layout vor, greift der „default“-Eintrag und das Template „allgemein.html“ wird verwendet.

 

Grid View in TYPO3 4.5 LTS

Mit der vor Kurzem veröffentlichten TYPO3 Version 4.5 hat sich nicht nur der Support auf mehr als drei Jahre verlängert, nein auch einiges in der Usability hat sich getan. Das Backend wurde auf ExtJS umgestellt, es wurde ein Linkvalidator integriert und an vielen kleinen und großen Schrauben gedreht.

Auf ein visuelles Gut bin ich beim Durchschauen der Änderungsliste gestoßen… das Grid View. Mit ihm lässt sich die bisherige Spaltenansicht (Links, Normal, Rechts, Rand) so anpassen, dass diese wie im Frontend dargestellt werden. Also nicht nur nebeneinander wie bisher, sondern auch darüber, darunter, über mehrere Zeilen hinweg, und und und. Was in Zeiten vor CSS mit „Layouttabellen“ realisiert wurde, kann jetzt dementsprechend im Backend mit einem komfortablen Wizard erstellt werden.

TemplaVoila!-User kennen diese Art der Darstellung ja schon, für diejenigen die zum ersten Mal damit arbeiten wollen, findet sich nachfolgend eine kleine Einführung.

Das Grid View kann auf jeder Seite eingebunden werden. Dazu wählt man links in der Navigation das Listenmodul und legt einen neuen Datensatz vom Typ „Backend Layout“ an. Hier kann der Titel, ein Bild und eine Beschreibung hinterlegt werden. Der Dreh und Angelpunkt des Datensatzes ist jedoch der Konfigurationsbereich. Glücklicherweise wurde hier ein Wizard implementiert, über den die Konfiguration einfach und intuitiv erstellt werden kann. Wie zu erwarten, lassen sich über das Plus-Zeichen am rechten, bzw. unteren Rand weitere Felder hinzufügen und über das Minus-Zeichen die Felder wieder entfernen. In den Feldern selbst, kann die Position über die Pfeile verschoben werden und bei einem Klick auf das Stift-Symbol der Name, bzw. die Spaltennummer bearbeitet werden. Die Spaltennummern sind uns besser bekannt als „colPos“, daher sollten diese von 0 aufsteigend nummeriert werden. Über die Spaltennummer wird später im Typoscript der Inhalt an einen Marker gebunden und so im Frontend ausgegeben.

Nach dem Speichern des Grid View, muss dieses in den Seiteneigenschaften einer Seite zugeordnet werden. Hierbei kann man eine Darstellung für die aktuelle Seite, sowie für die darunter liegenden Seiten definieren. Wurden die Änderungen in den Seiteneigenschaften gespeichert, ist das Grid View aktiv und der Seiteninhalt kann in die entsprechenden Felder eingebunden werden.

Jetzt muss nur noch per Typoscript festgelegt werden, welches Feld auf der Website wo ausgegeben werden soll und wir haben das Grid View fertig integriert.

page.10.marks{
 LOGO = CONTENT
 LOGO {
  table = tt_content
  select.where = colPos=0
 }
 ...
 LINKE_SPALTE{
  select.where = colPos=3
 }
 ...
 ADVERTS{
  select.where = colPos=x
 }

Aus meiner Sicht ist das Grid View eine große Bereicherung für das Backend von TYPO3 daher gehen Komplimente an alle, die daran mitgearbeitet haben.

Genug geschrieben, jetzt ist eure Meinung gefragt.