Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| typo3:templating:fluidtemplate [2016/01/19 20:52] – [Einbindung eines HTML-Templates abhängig vom BackendLayout] admin | typo3:templating:fluidtemplate [2021/03/02 19:54] (aktuell) – Condition für alternatives Fluid-Layout admin | ||
|---|---|---|---|
| Zeile 10: | Zeile 10: | ||
| ===== Beispiel für ein simples Fluidtemplate ===== | ===== Beispiel für ein simples Fluidtemplate ===== | ||
| - | ==== Typoscript | + | ==== TypoScript |
| <code typoscript> | <code typoscript> | ||
| lib.mainMenu = HMENU | lib.mainMenu = HMENU | ||
| Zeile 23: | Zeile 23: | ||
| 10 = FLUIDTEMPLATE | 10 = FLUIDTEMPLATE | ||
| 10 { | 10 { | ||
| - | file = fileadmin/ | + | file = EXT: |
| - | layoutRootPath = fileadmin/ | + | layoutRootPath = EXT: |
| - | partialRootPath = fileadmin/ | + | partialRootPath = EXT: |
| | | ||
| variables { | variables { | ||
| Zeile 45: | Zeile 45: | ||
| ==== Ein erstes Template ==== | ==== Ein erstes Template ==== | ||
| Beispiel für ein zweispaltiges Template\\ | Beispiel für ein zweispaltiges Template\\ | ||
| - | //fileadmin/ | + | //EXT: |
| <code html> | <code html> | ||
| <!-- Einfügen des Layouts (Dateiname ohne Endung) --> | <!-- Einfügen des Layouts (Dateiname ohne Endung) --> | ||
| Zeile 66: | Zeile 66: | ||
| ==== Das Layout ==== | ==== Das Layout ==== | ||
| Beispiel für ein grundlegendes Layout\\ | Beispiel für ein grundlegendes Layout\\ | ||
| - | //fileadmin/ | + | //EXT: |
| <code html> | <code html> | ||
| <div id=" | <div id=" | ||
| Zeile 102: | Zeile 102: | ||
| # Nummerierung = ID des BackendLayouts! | # Nummerierung = ID des BackendLayouts! | ||
| 1 = TEXT | 1 = TEXT | ||
| - | 1.value = EXT:extensionname/ | + | 1.value = EXT:templates/ |
| 2 = TEXT | 2 = TEXT | ||
| - | 2.value = EXT:extensionname/ | + | 2.value = EXT:templates/ |
| default = TEXT | default = TEXT | ||
| - | default.value = EXT:extensionname/ | + | default.value = EXT:templates/ |
| } | } | ||
| } | } | ||
| Zeile 123: | Zeile 123: | ||
| # Nummerierung = ID des BackendLayouts! | # Nummerierung = ID des BackendLayouts! | ||
| 1 = TEXT | 1 = TEXT | ||
| - | 1.value = EXT:extensionname/ | + | 1.value = EXT:templates/ |
| 2 = TEXT | 2 = TEXT | ||
| - | 2.value = EXT:extensionname/ | + | 2.value = EXT:templates/ |
| default = TEXT | default = TEXT | ||
| - | default.value = EXT:extensionname/ | + | default.value = EXT:templates/ |
| } | } | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== BackendLayouts über Page TSconfig ===== | ||
| + | |||
| + | <code typoscript> | ||
| + | mod.web_layout.BackendLayouts { | ||
| + | 1 { | ||
| + | title = Layout 3-1 (Standard) | ||
| + | config { | ||
| + | backend_layout { | ||
| + | colCount = 3 | ||
| + | rowCount = 1 | ||
| + | rows { | ||
| + | 1 { | ||
| + | columns { | ||
| + | 1 { | ||
| + | name = Hauptspalte | ||
| + | colspan = 2 | ||
| + | colPos = 0 | ||
| + | } | ||
| + | 2 { | ||
| + | name = rechte Spalte | ||
| + | colPos = 2 | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | icon = EXT: | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Zu beachten ist, dass BackendLayouts aus der TSconfig das Präfix '' | ||
| + | |||
| + | <code typoscript> | ||
| + | page.10 = FLUIDTEMPLATE | ||
| + | page.10 { | ||
| + | file.stdWrap.cObject = CASE | ||
| + | file.stdWrap.cObject { | ||
| + | key.data = pagelayout | ||
| + | // Nummerierung = ID des BackendLayouts! | ||
| + | pagets__1 = TEXT | ||
| + | pagets__1.value = EXT: | ||
| + | pagets__2 = TEXT | ||
| + | pagets__2.value = EXT: | ||
| + | default = TEXT | ||
| + | default.value = EXT: | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Eigene Fluid-Settings ===== | ||
| + | |||
| + | **TypoScript: | ||
| + | <code typoscript> | ||
| + | page.10 = FLUIDTEMPLATE | ||
| + | page.10 { | ||
| + | settings { | ||
| + | mySetting = 0 | ||
| + | } | ||
| + | |||
| + | # etc. | ||
| + | } | ||
| + | |||
| + | |||
| + | [globalVar = TSFE:id=17] | ||
| + | page.10.settings.mySetting = 1 | ||
| + | [global] | ||
| + | </ | ||
| + | |||
| + | **Fluid-Template: | ||
| + | <code html> | ||
| + | <f:if condition=" | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Assets (Stylesheets, | ||
| + | |||
| + | Ab TYPO3 8.6 kann man Fluid verwenden, um benötigte Assets z.B. über eine Extension in der Seite zu ergänzen. Es sind praktische Alternativen zum TypoScript-Setup '' | ||
| + | |||
| + | **Fluid-Template: | ||
| + | <code html> | ||
| + | < | ||
| + | <!-- zusätzliche Inhalte im < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | <!-- zusätzliche Inhalte vor </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Quelle: [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Einem Fluid Partial zusätzliche Argumente übergeben ===== | ||
| + | |||
| + | <code html> | ||
| + | <f:alias map=" | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Quelle: [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Inhaltsspalte (colPos) in Fluid auf Inhalt prüfen ===== | ||
| + | |||
| + | Das folgende Snippet rendert einen Teil des Fluid-Templates nur, wenn die angegebene Inhaltsspalte auch Inhalt besitzt (der nicht deaktiviert ist). Praktisch z.B. für ''< | ||
| + | |||
| + | **Voraussetzung: | ||
| + | |||
| + | Die Vorgehensweise mit '' | ||
| + | |||
| + | <code html> | ||
| + | {f: | ||
| + | <f:if condition=" | ||
| + | <aside class=" | ||
| + | // Render stuff | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Quelle: [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Condition für alternatives Fluid-Layout ===== | ||
| + | |||
| + | Eine '' | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | Quelle: [[https:// | ||
| + | |||