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…“)
 
Zeile 2: Zeile 2:
 
Todo
 
Todo
 
== 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
 +
# Backend Layout In den Seiteneigenschaften zuweisen
 +
==== TypoScript ergänzen ====
 +
In unserem page Objekt das '''TypoScript ergänzen''' z.B. in unserer 1000_page.ts
 +
 
 +
Fluid Variablen ergänzen
 +
<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

Version vom 21. Juli 2016, 14:19 Uhr

Einführung

Todo

Quickstart

Backendlayout erzeugen und zuweisen

  1. Sinnvollerweise einen BackendLayout Ordner erzeugen
  2. Listenansicht Backend Layout Datensatz erzeugen
  3. Backend Layout In den Seiteneigenschaften zuweisen

TypoScript ergänzen

In unserem page Objekt das TypoScript ergänzen z.B. in unserer 1000_page.ts

Fluid Variablen ergänzen

# 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

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