[TYPO3-german] Fluid Templating

bernd wilke t3ng at bernd-wilke.net
Tue Nov 4 11:25:47 CET 2014


Am 03.11.14 22:02, schrieb Michael G.:
> Hallo Bernd,
>
> vielen Dank für Deine Antwort.
>
>>> Bisher habe ich mit ###MARKER### und ###SUBPART### gearbeitet. Das scheint ja  > augenscheinlich auch noch zu funktionieren.
>>>
>>> Aber was ist mit BackendLayouts und FluiodTemplate? Wie hängen diese zusammen
>   >> oder gibt es ggf. demnächst etwas Neues? Hab da was von Bootstrap oder
>   >> GridElements gehört?

Bootstrap ist eine HTML/CSS/JS-Kombination um Inhalte responsive 
anzuzeigen. wie du das entsprechende HTML erzeugst ist die Frage nach 
dem Rendering. Das kann  mit Marker-Templates, Fluid-Templates oder in 
'nacktem' Typoscript erfolgen.
All das konntest du schon immer machen (zb. barrierefreies XHTML, oder 
table-based-Layout)

Gridelements ist eine Extension um Contentelemente "ineinander zu 
schachteln" (zb. dort 3 Spalten nebeneinander zur Verfügung zu haben wo 
sonst nur eine große Spalte ist)

>> einen direkten Zusammanhang gibt es nicht. den programmierst
>> (eigentlich: konfigurierst) du über Typoscript in die Installation.
>> Genauso wie mit Marker Templates.
> Ok, das müsste heißen, dass ich im Grunde im TYPOSCRIPT kaum Änderungen haben müsste, richtig?

jein.
mit 6.2 hat sich gegenüber 4.5 schon einiges geändert. einige Optionen 
sind neu, und man kann einiges einfacher und besser konfigurieren (zb. 
gibt es seit 4.6 auf fast alles ein stdWrap)
bezogen auf die Templates: natürlich ist die Grundanweisung mit 
Fluidtemplates etwas anders, aber das was früher Marker oder Subparts 
waren sind jetzt Variablen und/oder Partials und Sections

Das Typoscript unterscheidet sich minimal um Variablen/Marker zu definieren.
bei Fluid kann einiges an Logik dann ins Template wandern während man 
das bei Marker-Templates per Condition bzw. .stdWrap.if gesteuert hat.
Hier wird das Typoscript (evtl.) einfacher.


>> Bei Fluid kannst du natürlich auch etwas Logik [1] ins Template
>> verlagern, u.a. auch die Abfrage nach dem gewählten BE-Layout, das dann
>> steuert welches FE-Template benutzt werden soll. Konkreter: welcher Teil
>> der FE-Templates benutzt werden:
> Das sind dann diese Abfragen nach dem Motto »if« ? Wenn diese Eigenschaft zutrifft wird die Bedingung ausgeführt sonst nicht.
>
>> 1. bestimme das aktive Layout und speichere es in eine globale
>> Fluid-Variable:
>
>> page = PAGE
>> page {
>>     10 = FLUIDTEMPLATE
>>    10 {
>>      file = {$syspath}/html/f-template.html
>
>>      layoutRootPath = {$syspath}/html/
>>      partialRootPath = {$syspath}/html/partials/
>
>>      variables {
>>        layout = TEXT
>>        layout.field = backend_layout
>>        layout.ifEmpty.data = levelfield:-2, backend_layout_next_level, slide
>>      }
>>    }
>> }
> Was hast das jetzt mit den beiden Zeilen layoutRootPath und partialRootPath auf sich? Muss ich da was definieren oder wird das durch das System gestellt?

die Einträge musst du definieren und für dein globales Fluid-Template 
natürlich auch die Ordner erstellen (es gibt keine default-Werte/ 
-Verzeichnisse)
Bei Extensions werden diese Verzeichnisse mitgeliefert und die 
(extension-spezifischen) Einträge sollten entsprechend gesetzt sein.
Wenn du dann das Template der Extension verändern willst musst du Kopien 
anlegen und die Verzeichnisse entsprechend eintragen.

die Pfade setzt du damit Partials und Layouts nicht immer mit komplettem 
Pfad angegeben werden müssen (was ein Kopieren/ Umziehen schwieriger 
machen würde)


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


More information about the TYPO3-german mailing list