TYPO3 - Backend Layouts: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Einführung == Todo == Quickstart == * Ordner für Backend Layouts anlegen * Datensatz Backend Layout == Backend Layout in Dateien auslagern == Ab Typo3 v…“)
 
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Einführung ==
 
== Einführung ==
Todo
+
Besser als die Standard Spaltenansicht sind Backend layouts
 +
Ab TYPO3 7.4 kann man diese auch in Distributionen mitgeben.
 +
 
 
== Quickstart ==
 
== Quickstart ==
* Ordner für Backend Layouts anlegen
+
=== Backendlayout erzeugen und zuweisen ===
* Datensatz Backend Layout  
+
# Sinnvollerweise einen '''BackendLayout Ordner''' erzeugen
 +
# Listenansicht '''Backend Layout Datensatz''' erzeugen. Hinweis die colPos Spalten teilen sich Backendlayouts, die normalen Spalten und Gridelements. Das bedeutet, wenn man die Standardspalten nimmt kann man in den meisten Fällen die Standardtemplates die man schon hat benutzen.
 +
# Backend Layout In den Seiteneigenschaften '''zuweisen'''
 +
== Beispiele ==
 +
=== Beispiel - Backendlayout steuert Auswahl des Fluid Templates ===
 +
Wir gehen von einer page Definition aus, die etwa so aussieht:
 +
 
 +
<syntaxhighlight lang="typoscript">
 +
# Variablen
 +
page.10.variables {
 +
# content via css-styled-content oder fluid_styled_content
 +
contentNormal < styles.content.get
 +
# Zuordnung der weiteren Backenlayout Boxen zu den Template Variablen
 +
contentLeft < styles.content.get
 +
contentLeft.select.where = colPos=1
 +
contentMiddle < styles.content.get
 +
contentMiddle.select.where = colPos=2
 +
contentRight < styles.content.get
 +
contentRight.select.where = colPos=3
 +
}
 +
</syntaxhighlight>
 +
'''Auswahl des Backendlayouts''' soll unterschiedliche Layout Dateien verwenden.
 +
 
 +
Wir nutzen ein CASE Objekt um die Auswahl des Backendlayouts auszuwerten. In '''key.data''' wird mit ''backend_layout_net_level'' das Backend Layout Feld für die nächsten Level (siehe Backend Seiteneigenschaften) definiert. ''-1'' und ''slide'' sorgen dafür, daß im Seitenbaum in der nächst höheren Ebene geschaut wird wenn auf der aktuellen Ebene nichts gefunden wird. Wenn in backend_layout etwas gefunden wird, dann überschreibt dieser Wert die vorige Definition aus dem backend_layout_net_level Feld.
 +
 
 +
 
 +
<syntaxhighlight lang="typoscript">
 +
page.10.file.stdWrap.cObject = CASE
 +
page.10.file.stdWrap.cObject{
 +
  key.data = levelfield:-1, backend_layout_net_level, slide
 +
  key.override.field = backend_layout
 +
  # Default Template wenn nichts definiert ist
 +
  default = TEXT
 +
  default.value = {$resourceDir}/Private/Templates/Default.html
 +
  # Backendlayout ids zu Templates zuordnen
 +
  1 < .default
 +
  #2 = TEXT
 +
  #2.value = {$resourceDir}/Private/Templates/Layout2.html
 +
  #...
 +
}
 +
</syntaxhighlight>
 +
 
 +
'''Fluid Template ergänzen'''
 +
 
 +
<syntaxhighlight lang="html5">
 +
<f:layout name="Default"/><!-- Default Layout verwenden -->
 +
<f:section name="Main">
 +
<f:format.raw>{contentNormal}</f:format.raw>
 +
<f:format.raw>{contentLeft}</f:format.raw>
 +
<f:format.raw>{contentMiddle}</f:format.raw>
 +
<f:format.raw>{contentRight}</f:format.raw>
 +
</f:section>
 +
</syntaxhighlight>
  
 
== Backend Layout in Dateien auslagern ==
 
== Backend Layout in Dateien auslagern ==
 
Ab Typo3 v 7.4 möglich
 
Ab Typo3 v 7.4 möglich
 
https://vimeo.com/135548508
 
https://vimeo.com/135548508

Aktuelle Version vom 11. Februar 2018, 11:57 Uhr

Einführung[Bearbeiten]

Besser als die Standard Spaltenansicht sind Backend layouts Ab TYPO3 7.4 kann man diese auch in Distributionen mitgeben.

Quickstart[Bearbeiten]

Backendlayout erzeugen und zuweisen[Bearbeiten]

  1. Sinnvollerweise einen BackendLayout Ordner erzeugen
  2. Listenansicht Backend Layout Datensatz erzeugen. Hinweis die colPos Spalten teilen sich Backendlayouts, die normalen Spalten und Gridelements. Das bedeutet, wenn man die Standardspalten nimmt kann man in den meisten Fällen die Standardtemplates die man schon hat benutzen.
  3. Backend Layout In den Seiteneigenschaften zuweisen

Beispiele[Bearbeiten]

Beispiel - Backendlayout steuert Auswahl des Fluid Templates[Bearbeiten]

Wir gehen von einer page Definition aus, die etwa so aussieht:

# Variablen
page.10.variables {
	# content via css-styled-content oder fluid_styled_content
	contentNormal < styles.content.get 
	# Zuordnung der weiteren Backenlayout Boxen zu den Template Variablen 
	contentLeft < styles.content.get
	contentLeft.select.where = colPos=1
	contentMiddle < styles.content.get
	contentMiddle.select.where = colPos=2
	contentRight < styles.content.get
	contentRight.select.where = colPos=3
}

Auswahl des Backendlayouts soll unterschiedliche Layout Dateien verwenden.

Wir nutzen ein CASE Objekt um die Auswahl des Backendlayouts auszuwerten. In key.data wird mit backend_layout_net_level das Backend Layout Feld für die nächsten Level (siehe Backend Seiteneigenschaften) definiert. -1 und slide sorgen dafür, daß im Seitenbaum in der nächst höheren Ebene geschaut wird wenn auf der aktuellen Ebene nichts gefunden wird. Wenn in backend_layout etwas gefunden wird, dann überschreibt dieser Wert die vorige Definition aus dem backend_layout_net_level Feld.


page.10.file.stdWrap.cObject = CASE
page.10.file.stdWrap.cObject{
  key.data = levelfield:-1, backend_layout_net_level, slide
  key.override.field = backend_layout
  # Default Template wenn nichts definiert ist
  default = TEXT
  default.value = {$resourceDir}/Private/Templates/Default.html
  # Backendlayout ids zu Templates zuordnen
  1 < .default
  #2 = TEXT
  #2.value = {$resourceDir}/Private/Templates/Layout2.html
  #...
}

Fluid Template ergänzen

<f:layout name="Default"/><!-- Default Layout verwenden -->
<f:section name="Main">
	<f:format.raw>{contentNormal}</f:format.raw>
	<f:format.raw>{contentLeft}</f:format.raw>
	<f:format.raw>{contentMiddle}</f:format.raw>
	<f:format.raw>{contentRight}</f:format.raw>
</f:section>

Backend Layout in Dateien auslagern[Bearbeiten]

Ab Typo3 v 7.4 möglich https://vimeo.com/135548508