TSconfig ist von der Syntax her an TypoScript angelegt und dient der Konfiguration des Backend auf Seiten- und Nutzerbasis.
Eine vollständige Referenz ist unter https://docs.typo3.org/typo3cms/TSconfigReference/Index.html zu finden.
Wie bei TypoScript auch, gibt es hier Conditions. Grundsätzlich ist TSconfig in User- und Page-TSconfig unterteilt.
Durch die Vererbung können hier einzelne Seitenbereiche im Backend angepasst werden. So z.B. die erlaubten Datensätze, Labels etc. Außerdem ist dies wichtig für ein sauberes Caching. Hier kann eingestellt werden welche Caches mit geleert werden sollen. So kann z.B. die Startseite bei neuen News geleert werden.
Wird in den Seiteneigenschaften hinterlegt. Kann zudem bei Benutzern hinterlegt werden.
Beispiel:
mod {
wizards {
newContentElement {
wizardItems {
common {
show := removeFromList(table)
}
}
}
}
}
TCEFORM {
tt_content {
CType {
removeItems = table
}
}
}
Alternativ per PHP für alle, z.B. in typo3conf/AdditionalConfiguration.php
.
Zu beachten ist hier die Ladereihenfolge.
<?php
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('');
Kann im Module Info im Dropdown unter Page TSConfig kontrolliert werden. Dies bietet auch einen guten Anhaltspunkt für das Überschreiben der Wizards.
Kann nicht vom Nutzer selbst gesetzt werden, aber per Modul Backend users oder List.
Kann alle Werte aus PageTS gezielt überschreiben, siehe https://docs.typo3.org/typo3cms/TSconfigReference/UserTsconfig/Field/Index.html#relationship-to-values-set-in-page-tsconfig.
Kann einem Nutzer oder einer Nutzergruppe hinterlegt werden.
options {
pageTree {
showPageIdWithTitle = 1
showDomainNameWithTitle = 1
showPathAboveMounts = 1
searchInAlias = 1
}
}
Alternativ per PHP für alle, z.B. in typo3conf/AdditionalConfiguration.php
:
<?php
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig('
options {
pageTree {
backgroundColor {
1 = #74d1ff5c
}
}
}
');
Muss beim Nutzer aktiviert werden, sowie im Frontend.
UserTS:
ADMPANEL {
enable {
all = 1
}
}
TypoScript:
config {
admPanel = 1
}
Oft brauchen Redakteure nicht alle Eingabefelder. So werden manche schlicht nicht verwendet. Um hier Fehler und Irritationen zu vermeiden können diese deaktiviert werden. Dazu reicht folgendes TSconfig beim Nutzer:
page {
tt_content {
newUntil {
disabled = 1
}
}
TCEFORM {
tt_content {
CType {
removeItems = header
}
}
}
}
Da die Felder über PageTS konfiguriert werden, wir aber die Einstellungen auf Nutzerebene
hinterlegen, müssen wir dies mit page
prefixen, siehe: https://docs.typo3.org/typo3cms/TSconfigReference/UserTsconfig/Field/Index.html#relationship-to-values-set-in-page-tsconfig
Anschließnd kann dann ein einzelnes Feld deaktiviert werden, oder Einträge aus einem Dropdown
entfernt werden. Dies findet man hier dokumentiert: https://docs.typo3.org/typo3cms/TSconfigReference/PageTsconfig/TCEform/Index.html#tceform-confobj