Wer seine eigenen Variablen über den Konstanteneditor setzen möchte, kann dies mit diesen Einstellungen realisieren. In der Praxis ist dies nur bei eigenen Extensions relevant – wozu selbstverständlich auch Template-Extensions zählen.
Neben dem frei wählbaren Namen der Hauptkategorien gibt es von TYPO3 vorgegebene Unterkategorien; eine Sortierung ist mit Ganzzahlen oder auch mit Buchstaben möglich (ohne Sortierung werden die Konstanten in umgekehrter Reihenfolge zum Konstantenfeld ausgegeben). Man kann den Datentyp angeben (string, boolean, …) und einen Erklärungstext mit näherer Erläuterung.
Angaben unter Constants:
#Aufbau: #cat=Hauptkategorie/Unterkategorie/Sortierung;type=Datentyp;label=Feldbeschriftung:Erklärung # Variable = ... Beispiel: mypage { #cat=Meine Einstellungen/file/10; type=string;label=HTML-Template:Hier liegen die HTML-Vorlagen html = fileadmin/template/ #cat=Meine Einstellungen/file/11; type=string;label=CSS:Hier liegen die CSS-Dateien css = fileadmin/template/css/ #cat=Meine Einstellungen/file/12; type=string;label=Javascript:Hier liegen die Javascript-Dateien js = fileadmin/template/js/ }
Es können neben der Hauptkategorie auch Unterkategorien gesetzt werden:
#cat=Persoenliche Einstellungen/file
In der Datei typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php werden folgende Unterkategorien durch TYPO3 ermöglicht (ab TYPO3 6.0):
public $subCategories = array( // Standard categories: 'enable' => array('Enable features', 'a'), 'dims' => array('Dimensions, widths, heights, pixels', 'b'), 'file' => array('Files', 'c'), 'typo' => array('Typography', 'd'), 'color' => array('Colors', 'e'), 'links' => array('Links and targets', 'f'), 'language' => array('Language specific constants', 'g'), // subcategories based on the default content elements 'cheader' => array('Content: \'Header\'', 'ma'), 'cheader_g' => array('Content: \'Header\', Graphical', 'ma'), 'ctext' => array('Content: \'Text\'', 'mb'), 'cimage' => array('Content: \'Image\'', 'md'), 'cbullets' => array('Content: \'Bullet list\'', 'me'), 'ctable' => array('Content: \'Table\'', 'mf'), 'cuploads' => array('Content: \'Filelinks\'', 'mg'), 'cmultimedia' => array('Content: \'Multimedia\'', 'mh'), 'cmedia' => array('Content: \'Media\'', 'mr'), 'cmailform' => array('Content: \'Form\'', 'mi'), 'csearch' => array('Content: \'Search\'', 'mj'), 'clogin' => array('Content: \'Login\'', 'mk'), 'cmenu' => array('Content: \'Menu/Sitemap\'', 'mm'), 'cshortcut' => array('Content: \'Insert records\'', 'mn'), 'clist' => array('Content: \'List of records\'', 'mo'), 'chtml' => array('Content: \'HTML\'', 'mq') );
Folgende Typen sind möglich:
# cat=[...]; type=string; label= label: Eine Zeichenkette variable = Ich bin eine Zeichenkette # cat=[...]; type=int; label= int: Ganzzahliger Wert (Integer), kann negativ sein variable = -2 # cat=[...]; type=int+; label= int+: Ganzzahliger Wert (Integer), kann nur positiv sein variable = 54 # cat=[...]; type=offset; label= offset: x und y Werte variable = 88, 55 # cat=[...]; type=color; label= color: Farbauswahl variable = ff0000 # cat=[...]; type=wrap; label= wrap: Ein Wrap variable = <b>|</b> # cat=[...]; type=options[de,en,fr]; label= options[de, en, fr]: Dropdown-Auswahlfeld variable = de # cat=[...]; type=boolean; label= enable: Checkbox variable = 1 # cat=[...]; type=file[png,jpg,gif]; label= file[png, jpg, gif]: eine Datei variable = fileadmin/clear.gif # cat=[...]; type=small; label= small: Ein kleines input-Feld variable = xyz