[TYPO3-german] Seiten Muster erstellen

bernd wilke t3ng at bernd-wilke.net
Thu Sep 10 09:25:10 CEST 2015


Am 09.09.15 um 11:46 schrieb Amir Boudani:
> Hallo,
>
> Ich wollte mal fragen (weil ich auf Google nix konkretes gefunden habe)
> ob es die Möglichkeit gibt ein Seiten Muster zu erstellen für neu
> angelegte Seiten.
>
> Die Seiten die ich neu erstelle müssten Standartmässig eine +ext
> erstellt mit dem Typoscript Setup:
>
> [TS]
> Seitentemplate = TEMPLATE
> Seitentemplate {
>   template = FILE
>   template.file = fileadmin/Template/hauptausehen.html
>   marks.MENU < lib.menu
>   marks.TITLE < styles.content.getLeft  marks.INHALT < styles.content.get
>   marks.BILDR < styles.content.getRight
> }
>
> page = PAGE
> page.10 < Seitentemplate
>
> [/TS]

in der Form ist dein TS unnötig kompliziert. Du definierst ein Objekt um 
es dann genau einmal zu kopieren. und dann liegt es herum und braucht 
speicherplatz.
entweder du benutzt temp.Seitentemplate = ...
oder du definierst es direkt in page.10 (s.u.)

> oder gibt es da ne möglichkeit schlauer vorzugehen z.b.
> styles.content.getLeft  ohne es in die seiten +ext einzugügen?

einmal definiertes TS wird normalerweise an Unterseiten vererbt. dein TS 
muss also nur in der Root-Seite vorhanden sein.

wenn du jetzt unterschiedliche Templates pro Seite nutzen möchtest gibt 
es die Möglichkeit das zb. auch über BE-Layouts festzulegen.
zb.
page = PAGE
page.10 = FLUIDTEMPLATE
page.10 {
   file.stdWrap.cObject = CASE
   file.stdWrap.cObject {
     # slide the template
     key.data = levelfield:-1, backend_layout_next_level, slide
     key.override.field = backend_layout

     # default template file
     default = TEXT
     default.value = fileadmin/Templates/hauptaussehen.html

     # template file for backend-layout with ID 2
     2 = TEXT
     2.value = fileadmin/Templates/startseite.html

     :
   }
   variables {
     main < styles.content.get
     right < styles.content.getRight
     left < styles.content.getLeft

     # layout als Variable definieren:
     layout = TEXT
     layout.data = levelfield:-1, backend_layout_next_level, slide
     layout.override.field = backend_layout
   }
}
es bleibt bei einem (zentralen) Typoscript.
die 'überflüssigen' Variablen (für dich evtl. noch Marker) sind nur 
minimaler Overhead: normalerweise sollten sie ja leer sein weil das 
BE-layout die entsprechenden Spalten nicht definiert, ansonsten wird 
halt etwas gerendert, das später nicht in die Seite eingebaut wird, also 
zumindest optisch nicht stört.


des weiteren:
markertemplates sind nicht mehr 'state of the art'
wechsel zu fluid-templates (siehe mein Beispiel)

in dem moment kannst du auf das dicke CASE verzichten weil die 
Layoutauswahl einfacher im Fluidtemplate erfolgt:

<f:render partial="Layout{layout}.html" />

dafür habe ich die Fluid-Variable 'layout' definiert

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list