===== Externes Typoscript einbinden =====
* Pfade können relativ oder absolut sein
* man kann auf Extensions verweisen (''EXT:'')
* man kann auch auch ganze Ordner auslesen (''DIR:'')
* es können Dateiendungen gefiltert werden (zB. nur //.t3s// auslesen; //.txt//-Dateien im selben Ordner könnten dann für aktuell inaktiven Code verwendet werden)
* Conditions sind möglich ab TYPO3 7.6
* auch für TSconfig verwendbar
==== registerPageTSConfigFile und INCLUDE_TYPOSCRIPT ====
Wenn man in einer Extension über ''registerPageTSConfigFile'' eine Datei lädt, in welcher mit ''INCLUDE_TYPOSCRIPT'' wieder eine Datei oder ein Ordner eingeschlossen wird, muss der Pfad dorthin **absolut** sein! Derzeit gibt es einen Bug, der relative Pfade in diesem Zusammenspiel verhindert.
**Configuration/TCA/Overrides/pages.php**
**Configuration/TSconfig/Page.t3s**
// funktioniert nicht:
// so gehts:
Quelle: [[https://forge.typo3.org/issues/79737|Bug #79737: Registered pageTSconfig file won't allow relative paths for include - Core - TYPO3 Forge]]
----
===== Beliebig viele Spalten/Inhaltsbereiche in Front- und Backend =====
Bei ''fluid_styled_content'' ist aus historischen Gründen noch das klassische ''styles.content.get'' für die Spalte //0// (''colPos'') vorkonfiguriert.
''page.10.variables.content_0 < styles.content.get'' wird also noch funktionieren. Die anderen drei Spalten aus ''css_styled_content'' gibt es allerdings nicht mehr.
Neue Spalten können in TYPO3 aber auf einfache Weise angelegt werden. Mit Backend-Layouts lässt sich die gewünschte Menge sowie das Layout im Backend unter Web>Page einstellen. Ein Wizard hilft bei der Erstellung der Konfiguration. Für jeden Bereich gibt es einen frei wählbaren Namen sowie die Spaltennummer, die dem Datenbankfeld //colPos// in tt_content entspricht.
**Page TSconfig für BackendLayout:**
mod.web_layout.BackendLayouts {
1 {
title = Example
icon = EXT:template_extension/Resources/Public/Images/BackendLayouts/2col.png
config {
backend_layout {
colCount = 2
rowCount = 2
rows {
1 {
columns {
1 {
name = Header
colspan = 2
colPos = 0
}
}
}
2 {
columns {
1 {
name = linke Spalte
colPos = 1
}
2 {
name = rechte Spalte
colPos = 2
}
}
}
}
}
}
}
}
Um die Seiteninhalte der konfigurierten Spalten im Frontend ausgeben zu können, benötigt man dann noch folgendes TypoScript:
page.10.variables.content_0 = CONTENT
page.10.variables.content_0 {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = sys_language_uid
}
}
page.10.variables.content_1 < page.10.variables.content_0
page.10.variables.content_1.select.where = colPos=1
page.10.variables.content_2 < page.10.variables.content_0
page.10.variables.content_2.select.where = colPos=2