3.6 Abschnitt: Fields > eval
In diesem Abschnitt sehen wir uns die Einstellungen zur Ausgabe und der Verarbeitung der Felder genauer an. Ich werde nicht alle Möglichkeiten besprechen, da einige sehr speziell sind und selten benötigt werden. Auch Einstellungen, die es bald nicht mehr gibt, werde ich nicht besprechen, da es keinen Sinn macht, sie jetzt noch zu zeigen.
Hier eine verkürtze Übersicht über das DCA:
<?php
$GLOBALS['TL_DCA']['tl_testtable'] = [
// Config ...
// List ...
// Palettes ...
// Subpalettes ...
'fields' => [
'title' => [
'exclude' => true,
'inputType' => 'text',
'eval' => [], // Hier werden die Einstellungen eingefügt!
'sql' => "varchar(255) NOT NULL default ''"
],
// ... weitere Felder
]
];
Einstellung: allowHtml
| Variablentyp: | bool |
| Beispiel: | true |
Wird allowHtml auf true gesetzt, können die in den Einstellungen unter "Erlaubte HTML-Tags" hinterlegte Elemente
verwendet werden und werden nicht herausgefiltert.
Diese Einstellung funktioniert nur mit Feldern vom Typ text und textarea.
Beispiel: tl_content.php#L327
'html' => [
'exclude' => true,
'search' => true,
'inputType' => 'textarea',
'eval' => ['allowHtml'=>true, 'class'=>'monospace', 'rte'=>'ace|html', 'helpwizard'=>true],
'explanation' => 'insertTags',
'sql' => "mediumtext NULL"
]
Einstellung: alwaysSave
| Variablentyp: | bool |
| Beispiel: | true |
Normalerweise werden Werte in Contao nur gespeichert, wenn sie sich geändert haben. Wird alwaysSave auf true gesetzt,
wird das entsprechende Feld immer gespeichert, auch wenn es keine Änderung gab. Dies kann nützlich sein, wenn die Werte
über einen Callback verändert werden.
Beispiel: tl_module.php#L591
'reg_text' => [
'exclude' => true,
'inputType' => 'textarea',
'eval' => ['style'=>'height:120px', 'decodeEntities'=>true, 'alwaysSave'=>true],
'load_callback' => [['tl_module', 'getActivationDefault']],
'sql' => "text NULL"
]
Einstellung: blankOptionLabel
| Variablentyp: | string |
| Beispiel: | - |
Mit dieser Einstellung wird das Label für die leere Option in Auswahlfeldern gesetzt. Der Vorgabewert ist -. Die
Einstellung muss nur gesetzt werden, wenn man diesen Wert ändern möchte. Damit die leere Option angezeigt wird, muss
die Einstellung includeBlankOption auf true gesetzt werden.
Diese Einstellung funktioniert nur mit Feldern vom Typ select.
Beispiel: tl_page.php#L556
'subpageLayout' => [
'exclude' => true,
'search' => true,
'inputType' => 'select',
'foreignKey' => 'tl_layout.name',
'eval' => ['chosen'=>true, 'tl_class'=>'w50', 'includeBlankOption'=>true, 'blankOptionLabel'=>&$GLOBALS['TL_LANG']['tl_page']['layout_inherit']],
'sql' => "int(10) unsigned NOT NULL default 0",
'relation' => ['type'=>'hasOne', 'load'=>'lazy']
]
Einstellung: chosen
| Variablentyp: | bool |
| Beispiel: | true |
Mit chosen wird in einem Auswahlfeld eine Suche eingeblendet, sodass der gewünschte Wert auch bei einer großen
Auswahl schnell gefunden werden kann.
Diese Einstellung funktioniert nur mit Feldern vom Typ select.
Beispiel: tl_page.php#L547
'subpageLayout' => [
'exclude' => true,
'search' => true,
'inputType' => 'select',
'foreignKey' => 'tl_layout.name',
'eval' => ['chosen'=>true, 'tl_class'=>'w50', 'includeBlankOption'=>true, 'blankOptionLabel'=>&$GLOBALS['TL_LANG']['tl_page']['layout_inherit']],
'sql' => "int(10) unsigned NOT NULL default 0",
'relation' => ['type'=>'hasOne', 'load'=>'lazy']
]
Einstellung: collapseUncheckedGroups
| Variablentyp: | bool |
| Beispiel: | true |
Wird collapseUncheckedGroups auf true gesetzt, werden Optiongroups zusammengeklappt, wenn in ihnen nicht mindestens
eine Option ausgewählt ist. Die erste Gruppe wird allerdings nicht geschlossen.
Diese Einstellung funktioniert nur mit Feldern vom Typ checkbox, die Optionsgruppen
enthalten.
Diese Einstellung ist ab Contao 4.13 verfügbar.
Beispiel: tl_user.php#L292
'elements' => [
'exclude' => true,
'inputType' => 'checkbox',
'options_callback' => ['tl_user', 'getContentElements'],
'reference' => &$GLOBALS['TL_LANG']['CTE'],
'eval' => ['multiple'=>true, 'helpwizard'=>true, 'collapseUncheckedGroups'=>true],
'sql' => "blob NULL"
]
Einstellung: colorpicker
| Variablentyp: | bool |
| Beispiel: | true |
Die Einstellung colorpicker sorgt dafür, dass der Farbwähler hinter dem Eingabefeld angezeigt wird.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: tl_content.php#L642
'playerColor' => [
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => ['maxlength'=>6, 'colorpicker'=>true, 'isHexColor'=>true, 'decodeEntities'=>true, 'tl_class'=>'w50 wizard'],
'sql' => "varchar(6) COLLATE ascii_bin NOT NULL default ''"
]
Einstellung: cols
| Variablentyp: | integer |
| Beispiel: | 3 |
Mit cols kann die Anzahl der Spalten bei bestimmten Eingabefeldern festgelegt werden.
Diese Einstellung funktioniert nur mit Feldern vom Typ textarea, radioTable und
tableWizard.
Beispiel: tl_content.php#L290
'floating' => [
'exclude' => true,
'inputType' => 'radioTable',
'options' => ['above', 'left', 'right', 'below'],
'eval' => ['cols'=>4, 'tl_class'=>'w50'],
'reference' => &$GLOBALS['TL_LANG']['MSC'],
'sql' => "varchar(32) COLLATE ascii_bin NOT NULL default 'above'"
]
Einstellung: datepicker
| Variablentyp: | bool |
| Beispiel: | true |
Mit datepicker wird ein Wizard für die Auswahl eines Datums hinter dem Eingabefeld eingeblendet.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: tl_content.php#L779
'start' => [
'exclude' => true,
'inputType' => 'text',
'eval' => ['rgxp'=>'datim', 'datepicker'=>true, 'tl_class'=>'w50 wizard'],
'sql' => "varchar(10) COLLATE ascii_bin NOT NULL default ''"
]
Einstellung: dcaPicker
| Variablentyp: | bool |
| Beispiel: | true |
Mit der Einstellung dcaPicker wird ein Picker angezeigt, mit dem Seiten, Dateien oder ähnliches auswählt werden
können. Ein Beispiel für diesen Wizard ist das Inhaltselement Hyperlink.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: tl_content.php#L270
'imageUrl' => [
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => ['rgxp'=>'url', 'decodeEntities'=>true, 'maxlength'=>2048, 'dcaPicker'=>true, 'tl_class'=>'w50'],
'sql' => "text NULL"
]
Einstellung: decodeEntities
| Variablentyp: | bool |
| Beispiel: | true |
Wird decodeEntities auf true gesetzt, werden HTML-Entites kodiert.
Diese Einstellung wird in der Regel mit Feldern vom Typ text, textarea usw.
verwendet.
Beispiel: tl_module.php#L492
'reg_text' => [
'exclude' => true,
'inputType' => 'textarea',
'eval' => ['style'=>'height:120px', 'decodeEntities'=>true, 'alwaysSave'=>true],
'load_callback' => [['tl_module', 'getActivationDefault']],
'sql' => "text NULL"
]
Einstellung: disabled
| Variablentyp: | bool |
| Beispiel: | true |
Wird disabled auf true gesetzt, wird das Feld für Eingaben gesperrt. Dies kann sinnvoll sein, wenn Werte zwar
angezeigt, aber nicht geändert werden sollen.
Beispiel: (Leider ist im Contao Core kein Beispiel vorhanden.)
'donotchange' => [
'exclude' => true,
'inputType' => 'text',
'eval' => ['disabled'=>true],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: doNotCopy
| Variablentyp: | bool |
| Beispiel: | true |
Ist doNotCopy auf true gesetzt, wird der Wert aus diesem Feld beim Kopieren des Datensatzes, nicht mit kopiert.
Beispiel: tl_article.php#L281
'published' => [
'exclude' => true,
'toggle' => true,
'filter' => true,
'inputType' => 'checkbox',
'eval' => ['doNotCopy'=>true],
'sql' => "char(1) NOT NULL default ''"
]
Einstellung: doNotSaveEmpty
| Variablentyp: | bool |
| Beispiel: | true |
Ist doNotSaveEmpty auf true gesetzt, wird das Feld nicht gespeichert, wenn es leer ist.
Beispiel: tl_content.php#L331
'tableitems' => [
'exclude' => true,
'inputType' => 'tableWizard',
'eval' => ['multiple'=>true, 'allowHtml'=>true, 'doNotSaveEmpty'=>true, 'style'=>'width:142px;height:66px'],
'xlabel' => [['tl_content', 'tableImportWizard']],
'sql' => "mediumblob NULL"
]
Einstellung: doNotShow
| Variablentyp: | bool |
| Beispiel: | true |
Wird doNotShow auf true gesetzt, wird das entsprechende Feld in den Details und der "Mehrer bearbeiten"-Ansicht
nicht angezeigt.
Beispiel: tl_member.php#L338
'secret' => [
'eval' => ['doNotShow'=>true, 'doNotCopy'=>true],
'sql' => "binary(128) NULL default NULL"
]
Einstellung: doNotTrim
| Variablentyp: | bool |
| Beispiel: | true |
Wird doNotTrim auf true gesetzt, werden Leerzeichen am Anfang oder Ende beim Speichern nicht entfernt.
Diese Einstellung wird in der Regel mit Feldern vom Typ text, textarea, usw.
verwendet.
Beispiel: (Leider ist im Contao Core kein Beispiel vorhanden.)
'donottrim' => [
'exclude' => true,
'inputType' => 'text',
'eval' => ['doNotTrim'=>true],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: extensions
| Variablentyp: | string |
| Beispiel: | jpg,png,gif |
Hier werden die Dateiendungen angegeben und so festgelegt, welche Art von Dateien zur Auswahl angeboten werden.
Diese Einstellung funktioniert nur mit Feldern vom Typ fileTree.
Beispiel: tl_layout.php#L180
'external' => [
'exclude' => true,
'inputType' => 'fileTree',
'eval' => ['multiple'=>true, 'fieldType'=>'checkbox', 'filesOnly'=>true, 'extensions'=>'css,scss,less', 'isSortable'=>true],
'sql' => "blob NULL"
]
Einstellung: fallback
| Variablentyp: | bool |
| Beispiel: | true |
Mit fallback gekennzeichnete Felder, können nur einmal pro Tabelle gesetzt werden.
Beispiel: (Leider ist im Contao Core kein brauchbares Beispiel vorhanden.)
'fallback' => [
'exclude' => true,
'inputType' => 'checkbox',
'eval' => ['fallback'=>true],
'sql' => "char(1) NOT NULL default ''"
]
Einstellung: feEditable
| Variablentyp: | bool |
| Beispiel: | true |
Mit feEditable kann angegeben werden, dass ein Feld im Frontend im Modul "Personendaten" bearbeitet werden kann.
Wird nur in der Tabelle tl_member verwendet!
Beispiel: tl_member.php#L121
'firstname' => [
'exclude' => true,
'search' => true,
'sorting' => true,
'flag' => DataContainer::SORT_INITIAL_LETTER_ASC,
'inputType' => 'text',
'eval' => ['mandatory'=>true, 'maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: feGroup
| Variablentyp: | string |
| Beispiel: | personal |
Mit feGroup kann angegeben werden, in welcher Gruppe ein Feld im Frontend im Modul "Personendaten" bearbeitet werden kann.
Wird nur in der Tabelle tl_member verwendet!
Beispiel: tl_member.php#L121
'firstname' => [
'exclude' => true,
'search' => true,
'sorting' => true,
'flag' => DataContainer::SORT_INITIAL_LETTER_ASC,
'inputType' => 'text',
'eval' => ['mandatory'=>true, 'maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: feViewable
| Variablentyp: | bool |
| Beispiel: | true |
Mit feViewable kann angegeben werden, dass ein Feld im Frontend angezeigt werden soll.
Wird nur in der Tabelle tl_member verwendet!
Beispiel: tl_member.php#L121
'firstname' => [
'exclude' => true,
'search' => true,
'sorting' => true,
'flag' => DataContainer::SORT_INITIAL_LETTER_ASC,
'inputType' => 'text',
'eval' => ['mandatory'=>true, 'maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: fieldType
| Variablentyp: | string [checkbox|radio] |
| Beispiel: | checkbox |
Mit fieldType gibt man an, ob nur ein Element (radio), oder mehrere (checkbox) ausgewählt werden können.
Diese Einstellung funktioniert nur mit Feldern vom Typ fileTree und pageTree.
Beispiel: tl_form.php#L163
'jumpTo' => [
'exclude' => true,
'inputType' => 'pageTree',
'foreignKey' => 'tl_page.title',
'eval' => ['fieldType'=>'radio', 'tl_class'=>'clr'],
'sql' => "int(10) unsigned NOT NULL default 0",
'relation' => ['type'=>'hasOne', 'load'=>'lazy']
]
Einstellung: files
| Variablentyp: | bool |
| Beispiel: | true |
Wird files auf true gesetzt, werden im Dateibaum Dateien angezeigt, bei false nur Verzeichnisse.
Diese Einstellung funktioniert nur mit Feldern vom Typ fileTree.
Beispiel: tl_content.php#L613
'playerSRC' => [
'exclude' => true,
'inputType' => 'fileTree',
'eval' => ['multiple'=>true, 'fieldType'=>'checkbox', 'files'=>true, 'mandatory'=>true],
'sql' => "blob NULL"
]
Einstellung: filesOnly
| Variablentyp: | bool |
| Beispiel: | true |
Wird filesOnly auf true gesetzt, sind im Dateibaum nur Dateien auswählbar. Verzeichnisse können nicht gewählt
werden.
Diese Einstellung funktioniert nur mit Feldern vom Typ fileTree.
Beispiel: tl_form_field.php#L436
'singleSRC' => [
'exclude' => true,
'inputType' => 'fileTree',
'eval' => ['fieldType'=>'radio', 'filesOnly'=>true, 'mandatory'=>true, 'tl_class'=>'clr'],
'sql' => "binary(16) NULL"
]
Einstellung: helpwizard
| Variablentyp: | bool |
| Beispiel: | true |
Wird helpwizard auf ture gesetzt, wird hinter dem Label das kleine rote Dreieck für den HelpWizard angezeigt.
Beispiel: tl_content.php#L327
'html' => [
'exclude' => true,
'search' => true,
'inputType' => 'textarea',
'eval' => ['allowHtml'=>true, 'class'=>'monospace', 'rte'=>'ace|html', 'helpwizard'=>true],
'explanation' => 'insertTags',
'sql' => "mediumtext NULL"
]
Einstellung: hideInput
| Variablentyp: | bool |
| Beispiel: | true |
Wird hideInput auf true gesetzt, wird die Eingabe im Backend nicht angezeigt.
Es ist zu beachten, dass der Wert im Quelltext der Seite nach wie vor sichtbar ist.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: (Leider ist im Contao Core kein Beispiel vorhanden.)
'secret' => [
'exclude' => true,
'inputType' => 'text',
'eval' => ['hideInput'=>true],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: includeBlankOption
| Variablentyp: | bool |
| Beispiel: | true |
Mit includeBlankOption wird eine Leeroption in ein Auswahlfeld eingefügt. Mit der Eigenschaft blankOptionLabel
(s. o.) kann das Label der Leeroption festgelegt werden.
Diese Einstellung wird funktioniert nur mit Feldern vom Typ select.
Beispiel: tl_page.php#L556
'subpageLayout' => [
'exclude' => true,
'search' => true,
'inputType' => 'select',
'foreignKey' => 'tl_layout.name',
'eval' => ['chosen'=>true, 'tl_class'=>'w50', 'includeBlankOption'=>true, 'blankOptionLabel'=>&$GLOBALS['TL_LANG']['tl_page']['layout_inherit']],
'sql' => "int(10) unsigned NOT NULL default 0",
'relation' => ['type'=>'hasOne', 'load'=>'lazy']
]
Einstellung: isGallery
| Variablentyp: | bool |
| Beispiel: | true |
Mit isGallery wird der Galeriemodus eingeschaltet, d. h. Bilder können manuell sortiert werden und die Ansicht ändert
sich.
Diese Einstellung funktioniert nur mit Feldern vom Typ fileTree.
Beispiel: tl_theme.php#L193
'screenshot' => [
'exclude' => true,
'inputType' => 'fileTree',
'eval' => ['fieldType'=>'radio', 'filesOnly'=>true, 'isGallery'=>true, 'extensions'=>'%contao.image.valid_extensions%'],
'sql' => "binary(16) NULL"
]
Einstellung: isSortable
| Variablentyp: | bool |
| Beispiel: | true |
Mit isSortable werden die Einträge des Felds als sortierbar gekennzeichnet.
Diese Einstellung wird in der Regel mit Feldern vom Typ fileTree verwendet.
Diese Einstellung ist ab Contao 4.10 nutzbar.
Beispiel: tl_layout.php#L396
'externalJs' => [
'exclude' => true,
'inputType' => 'fileTree',
'eval' => ['multiple'=>true, 'fieldType'=>'checkbox', 'filesOnly'=>true, 'extensions'=>'js', 'isSortable'=>true],
'sql' => "blob NULL"
]
Einstellung: mandatory
| Variablentyp: | bool |
| Beispiel: | true |
Aus meiner Sicht ist manatory eine der meist genutzen Einstellungen. Mit ihr legt man fest, das ein Feld ein
Pflichtfeld ist.
Beispiel: tl_member.php#L121
'firstname' => [
'exclude' => true,
'search' => true,
'sorting' => true,
'flag' => DataContainer::SORT_INITIAL_LETTER_ASC,
'inputType' => 'text',
'eval' => ['mandatory'=>true, 'maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: maxlength
| Variablentyp: | integer |
| Beispiel: | 255 |
Mit maxlength legt man die maximale Anzahl an Zeichen fest, die in ein Feld eingegeben werden dürfen. Bei "normalen"
Textfeldern ist dies häufig 255, bei Zahlen wie Zeitstemplen oder Ids oft 10.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: tl_content.php#L642
'playerColor' => [
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => ['maxlength'=>6, 'colorpicker'=>true, 'isHexColor'=>true, 'decodeEntities'=>true, 'tl_class'=>'w50 wizard'],
'sql' => "varchar(6) COLLATE ascii_bin NOT NULL default ''"
]
Einstellung: maxval
| Variablentyp: | integer |
| Beispiel: | 120 |
Mit maxval wird der obere Grenzwert festgelegt.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: (Leider ist im Contao Core kein Beispiel vorhanden.)
'percent' => [
'exclude' => true,
'inputType' => 'text',
'eval' => ['maxval'=>100, 'rgxp'=>'natural'],
'sql' => "int(3) NOT NULL default '0'"
]
Einstellung: minlength
| Variablentyp: | integer |
| Beispiel: | 4 |
Mit minlength legt man die minimale Anzahl an Zeichen fest, die in ein Feld eingegeben werden müssen.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: tl_user.php#L248
'password' => [
'exclude' => true,
'inputType' => 'password',
'eval' => ['mandatory'=>true, 'preserveTags'=>true, 'minlength'=>Config::get('minPasswordLength'), 'tl_class'=>'w50'],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: minval
| Variablentyp: | integer |
| Beispiel: | 88 |
Mit minval wird der untere Grenzwert festgelegt, also der kleinste Wert der eingegeben werden darf.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: tl_settings.php#L70
'resultsPerPage' => []
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'natural', 'minval'=>1, 'nospace'=>true, 'tl_class'=>'w50 clr')
}
Einstellung: multiple
| Variablentyp: | bool |
| Beispiel: | true |
Wird multiple auf true gesetzt, können in diem Feld mehrere Einträge ausgewählt werden.
Diese Einstellung kann mit Feldern vom Typ text, select, radio und checkbox
verwendet werden. Bei checkboxWizard ist sie Pflicht.
Beispiel: tl_user.php#L292
'elements' => [
'exclude' => true,
'inputType' => 'checkbox',
'options_callback' => ['tl_user', 'getContentElements'],
'reference' => &$GLOBALS['TL_LANG']['CTE'],
'eval' => ['multiple'=>true, 'helpwizard'=>true, 'collapseUncheckedGroups'=>true],
'sql' => "blob NULL"
]
Einstellung: nospace
| Variablentyp: | bool |
| Beispiel: | true |
Wird nospace auf true gesetzt, dürfen in den eingegebenen Werten kein Leerzeichen enthalten sein.
Diese Einstellung wird in der Regel mit Feldern vom Typ text verwendet.
Beispiel: tl_settings.php#L70
'resultsPerPage' => []
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'natural', 'minval'=>1, 'nospace'=>true, 'tl_class'=>'w50 clr')
}
Einstellung: orderField
| Variablentyp: | string |
| Beispiel: | myorderfield |
Mit orderField wird das Feld angegeben, in dem die Sortierung von Dateien gespeichert wird. Das Feld für die Sortiung
muss ebenfalls angelegt werden. Im Beispiel ist dies das Feld orderSRC.
Diese Einstellung funktioniert nur mit Feldern vom Typ fileTree.
Beispiel: tl_content.php#L533
'multiSRC' => [
'exclude' => true,
'inputType' => 'fileTree',
'eval' => ['multiple'=>true, 'fieldType'=>'checkbox', 'orderField'=>'orderSRC', 'files'=>true],
'sql' => "blob NULL",
'load_callback' => [['tl_content', 'setMultiSrcFlags']]
]
Beispiel für orderSRC: tl_content.php#L540
'orderSRC' => [
'sql' => "blob NULL"
]
Einstellung: path
| Variablentyp: | string |
| Beispiel: | files/customer/data |
Mit path kann der Pfad beim Öffnen eines Dateibaums angegeben werden. Es kann dann nur auf diesen Pfad zugegriffen
werden.
Diese Einstellung funktioniert nur mit Feldern vom Typ fileTree.
Beispiel: (Leider ist im Contao Core kein Beispiel vorhanden.)
'multiSRC' => [
'exclude' => true,
'inputType' => 'fileTree',
'eval' => ['path'=>'files/customer/data', 'multiple'=>true, 'fieldType'=>'checkbox', 'files'=>true],
'sql' => "blob NULL",
'load_callback' => [['tl_content', 'setMultiSrcFlags']]
]
Einstellung: placeholder
| Variablentyp: | string |
| Beispiel: | Bitte geben Sie einen Wert ein. |
Mit placeholder wird der Platzhalter für das Eingabefeld angegeben.
Beispiel: tl_layout.php#L313
'titleTag' => [
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => ['decodeEntities'=>true, 'maxlength'=>255, 'placeholder'=>'{ {page::pageTitle}} - { {page::rootPageTitle}}', 'tl_class'=>'w50'],
'sql' => "varchar(255) NOT NULL default ''"
]
(Damit die InsertTags nicht ersetzt weden, wurden zwischen den öffnenden Klammern Leerzeichen eingefügt.)
Einstellung: preserveTags
| Variablentyp: | bool |
| Beispiel: | true |
Wird preserveTags auf true gesetzt, werden keine HTML-Tags entfernt.
Beispiel: tl_user.php#L243
'password' => [
'exclude' => true,
'inputType' => 'password',
'eval' => ['mandatory'=>true, 'preserveTags'=>true, 'minlength'=>Config::get('minPasswordLength'), 'tl_class'=>'w50'],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: readonly
| Variablentyp: | bool |
| Beispiel: | true |
Ist readonly auf true gesetzt, wird der Wert ganz normal angezeigt, kann aber nicht verändert werden.
Laut Handbuch wird dies nicht von allen Feldern unterstützt. Auf Deatils wird leider nicht eingegangen.
Beispiel: tl_preview_link.php#L106
'url' => [
'search' => true,
'inputType' => 'text',
'eval' => ['mandatory'=>true, 'readonly'=>true, 'rgxp'=>'url', 'decodeEntities'=>true, 'maxlength'=>2048],
'sql' => "varchar(2048) NOT NULL default ''",
]
Einstellung: rgxp
| Variablentyp: | string |
| Beispiel: | digit |
Mit rgxp gibt man den regulären Ausdruck für die Überprüfung der Eingabe an. Es gibt die verschiedesten Ausdrücke,
die hier verwendet werden können (wie email, digit, alnum), außerdem können eigene erstellt werden. Auf die
regulären Ausdrücke gehen wir in einem der nächsten Texte noch detailiert ein.
Beispiel: tl_user.php#L172
'email' => [
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => ['mandatory'=>true, 'rgxp'=>'email', 'maxlength'=>255, 'unique'=>true, 'decodeEntities'=>true, 'tl_class'=>'w50'],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: rows
| Variablentyp: | integer |
| Beispiel: | 3 |
Mit rows wird die Anzahl der Zeilen angegeben.
Diese Einstellung funktioniert nur mit Feldern vom Typ textarea und tableWizard.
Beispiel: (Leider ist im Contao Core kein Beispiel vorhanden.)
'email' => [
'exclude' => true,
'inputType' => 'textarea',
'eval' => ['tl_class'=>'clr', 'rows'=>5],
'sql' => "text NULL"
]
Einstellung: rte
| Variablentyp: | string |
| Beispiel: | TinyMCE |
Mit rte kann die Art des Rich Text Editors angegeben werden. Für Inhalte wird meist tinyMCE verwendet, für
Quelltexte ace, hier kann dann noch das Syntax Highlighting angegeben werden (z. B. ace|html oder ace|js)
Beispiel: tl_content.php#L215
'text' => [
'exclude' => true,
'search' => true,
'inputType' => 'textarea',
'eval' => ['mandatory'=>true, 'rte'=>'tinyMCE', 'helpwizard'=>true],
'explanation' => 'insertTags',
'sql' => "mediumtext NULL"
]
Einstellung: size
| Variablentyp: | integer |
| Beispiel: | 3 |
Mit size wird bei Feldern mit Mehrfachauswahl multiple die Anzahl der Elemente oder bei Textfeldern text die
Anzahl der Felder festgelegt.
Beispiel: tl_content.php#L861
'cssID' => [
'exclude' => true,
'inputType' => 'text',
'eval' => ['multiple'=>true, 'size'=>2, 'tl_class'=>'w50 clr'],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: spaceToUnderscore
| Variablentyp: | bool |
| Beispiel: | true |
Wird spaceToUnderscore auf true gesetzt, werden alle Leerzeichen durch Unterstriche ersetzt.
Beispiel: tl_form_field.php#L192
'name' => [
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => ['mandatory'=>true, 'rgxp'=>'fieldname', 'spaceToUnderscore'=>true, 'maxlength'=>64, 'tl_class'=>'w50 clr'],
'sql' => "varchar(64) NOT NULL default ''"
]
Einstellung: style
| Variablentyp: | string |
| Beispiel: | border: 1px solid #999 |
Mit style können dem Feld CSS-Styles zugewiesen werden.
Beispiel: tl_content.php#L331
'tableitems' => [
'exclude' => true,
'inputType' => 'tableWizard',
'eval' => ['multiple'=>true, 'allowHtml'=>true, 'doNotSaveEmpty'=>true, 'style'=>'width:142px;height:66px'],
'xlabel' => [['tl_content', 'tableImportWizard']],
'sql' => "mediumblob NULL"
]
Einstellung: submitOnChange
| Variablentyp: | bool |
| Beispiel: | true |
Wird submitOnChange auf true gesetzt, wird bei jeder Änderung des Werts gespeichert und die Seite neu geladen. Dies wird
oft bei Feldern genutzt, die eine Subpalette (.s "Der Abschnitt: Palettes und Subpalettes") laden.
Beispiel: tl_article.php#L279
'protected' => [
'exclude' => true,
'filter' => true,
'inputType' => 'checkbox',
'eval' => ['submitOnChange'=>true],
'sql' => "char(1) NOT NULL default ''"
]
Einstellung: tl_class
| Variablentyp: | string |
| Beispiel: | w50 |
Mit tl_class wird die Anzeige im Backend geregelt. Es gibt folgende Möglichkeiten:
| Wert | Bedeutung | Bemerkung |
|---|---|---|
w25 |
Das Feld bekommt eine Breite von 25% der Gesamtbreite und float:left |
Verfügbart ab Contao 5.1 |
w33 |
Das Feld bekommt eine Breite von einem Drittel der Gesamtbreite und float:left |
Verfügbart ab Contao 5.1 |
w50 |
Das Feld bekommt eine Breite von 50% der Gesamtbreite und float:left |
|
w66 |
Das Feld bekommt eine Breite von zwei Drittel der Gesamtbreite und float:left |
Verfügbart ab Contao 5.1 |
w75 |
Das Feld bekommt eine Breite von 75% der Gesamtbreite und float:left |
Verfügbart ab Contao 5.1 |
clr |
Das Feld bekommt clear:both |
Wird genutzt, wenn ein Feld mit voller Breite auf ein Feld mit geringerer Breit folgt. |
wizard |
Wird verwendet, wenn ein Feld ein Wizard bekommt, es wird etwas kürzer dargestellt, um Platz für den Wizard zu schaffen. | |
long |
Das Feld wird über die gesamte Breite dargestellt. | |
cbx |
Das Feld wird auf eine Mindesthöhe von 46 Pixel gesetzt. | |
m12 |
Das Feld bekommt ein padding von 17 Pixeln oben und unten. |
Wird für einzelne Checkboxen verwendet, damit sie die gleiche Höhe haben wie andere Felder. |
Die Werte können beliebig kombiniert werden (z. B. clr long).
Beispiel: tl_page.php#L556
'subpageLayout' => [
'exclude' => true,
'search' => true,
'inputType' => 'select',
'foreignKey' => 'tl_layout.name',
'eval' => ['chosen'=>true, 'tl_class'=>'w50', 'includeBlankOption'=>true, 'blankOptionLabel'=>&$GLOBALS['TL_LANG']['tl_page']['layout_inherit']],
'sql' => "int(10) unsigned NOT NULL default 0",
'relation' => ['type'=>'hasOne', 'load'=>'lazy']
]
Einstellung: trailingSlash
| Variablentyp: | bool |
| Beispiel: | true |
Wird trailingSlash auf true gesetzt, werden dem Wert abschließende Slashes hinzugefügt, falls nicht vorhanden. Bei
false werden diese entfernt, falls vorhanden.
Beispiel: tl_page.php#L392
'staticFiles' => [
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => ['rgxp'=>'url', 'trailingSlash'=>false, 'tl_class'=>'w50'],
'save_callback' => [['tl_page', 'checkStaticUrl']],
'sql' => "varchar(255) NOT NULL default ''"
]
Einstellung: unique
| Variablentyp: | bool |
| Beispiel: | true |
Ist unique auf true gesetzt, muss der Wert in der Tabelle eindeutig sein und kann kein zweites Mal vergeben werden.
Beispiel: tl_files.php#L182
'path' => [
'eval' => ['unique'=>true, 'versionize'=>false],
'sql' => "varchar(1022) BINARY NOT NULL default ''",
]
Einstellung: versionize
| Variablentyp: | bool |
| Beispiel: | true |
Wird versionize auf false gesetzt, wird der Wert des Felds beim Erstellen einer neuen Version nicht mit gespeichert.
Beispiel: tl_files.php#L182
'path' => [
'eval' => ['unique'=>true, 'versionize'=>false],
'sql' => "varchar(1022) BINARY NOT NULL default ''",
]