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 ''",
]