FLUIDTEMPLATE mit Backend Layouts

FLUIDTEMPLATE mit Backend Layouts

Man kann auch mit einem FLUIDTEMPLATE das Backend Layout zur Steuerung der Frontend-Ausgabe nutzen.

Als Beispiel gibt es 2 Backend Layouts mit 2 und mit 3 Spalten.

Dafür kann man die Backend Layout UID der Seite an Fluid als Variable übergeben:

FLUIDTEMPLATE

page.10 = FLUIDTEMPLATE
page.10 {
  file = {$Private}/Templates/Page.html
  partialRootPath = {$Private}/Partials/
  layoutRootPath = {$Private}/Layouts/
  variables{
    layout = TEXT
    layout.data = levelfield:-2,backend_layout_next_level,slide
    layout.override.field = backend_layout
    
    contentCenter < styles.content.get
    contentLeft < styles.content.get
    contentLeft.select.where = colPos = 1
    contentRight < styles.content.get
    contentRight.select.where = colPos = 2

    footer < lib.footer
  }
}

Nun mit Fluid verwerten und das entsprechende Partial rendern:

Auszug aus dem Template Page.html

<f:if condition="{layout} == 1">
  <f:render partial="TwoCols" arguments="{contentLeft:contentLeft, contentRight:contentRight}" />
</f:if>
<f:if condition="{layout} == 2">
  <f:render partial="ThreeCols" arguments="{contentLeft:contentLeft, contentCenter:contentCenter, contentRight:contentRight}" />
</f:if>

<f:comment>Oder direkt im Partial Namen ohne if</f:comment>
<f:render partial="Layout{layout}" arguments="{contentLeft:contentLeft, contentCenter:contentCenter, contentRight:contentRight}" />
<f:comment>Dadurch wird das Partial "Layout.html" verwendet, wenn gar kein Backend Layout zugewiesen wurde, oder "Layout1.html" für BE-Layout 1 und "Layout2.html" für BE-Layout 2.</f:comment>

Ein Partial kann dann etwa so aussehen:

ThreeCols.html

<div class="grid33 grid-first"><f:format.html parseFuncTSPath="">{contentLeft}</f:format.html></div>
<div class="grid34"><f:format.html parseFuncTSPath="">{contentCenter}</f:format.html></div>
<div class="grid33 grid-last"><f:format.html parseFuncTSPath="">{contentRight}</f:format.html></div>
Stichwörter zu dieser Seite: 
Generator: TYPO3 CMS 6.2
Google Page Speed
@t3easy_de folgen
Google+