[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