https://docs.contao.org/books/manual...er-Arrays.html
feGroup |
Gruppe
(string) |
personal Persönliche Daten
address Adressdaten
contact Kontaktdaten
login Login-Daten (nur Tabelle tl_member)
Das Hinzufügen eigener Gruppen ist möglich. |
Egal, ob ich in eval eine bekannt Gruppe wie personal angebe, oder eine eigene Gruppe wie companyadress, hat dies weder Einfluss auf das Back- noch das Frontend!
Beispiele 1:
PHP-Code:
$GLOBALS['TL_DCA']['tl_member']['fields']['customer_number'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_member']['customer_number'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'digit', 'unique'=>true, 'maxlength'=>8, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal ', 'tl_class'=>'ctr', 'style'=>'width:128px;'),
'sql' => "varchar(8) NOT NULL"
);
Backend
08-05-_2016_12-24-38_feGroup_Backend.png
Frontend
08-05-_2016_12-26-02_feGroup_Frontend.png
Und zur Erklärung: Da der Newsletter die E-Mail-Adresse aus dem Feld 'email' verwendet, habe ich für die private E-Mail-Adresse ein neues Feld 'privat_email' angelegte und das Feld 'email' an die Postition nach 'gender' verschoben.
PHP-Code:
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
(
//Das neue Feld 'privat_email' nach 'email' (E-Mail-Adresse für Newsletter) positionieren und die Position (nicht das Feld!) von 'email' enfernen
'email',
'privat_email',
$GLOBALS['TL_DCA']['tl_member']['palettes']['default']
);
//Nun wird 'email' (E-Mail-Adresse für Newsletter) neu plaziert
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
(
'gender',
'gender,email',
$GLOBALS['TL_DCA']['tl_member']['palettes']['default']
);
$GLOBALS['TL_DCA']['tl_member']['fields']['privat_email'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_member']['privat_email'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>false, 'rgxp'=>'email', 'maxlength'=>128, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'),
'sql' => "varchar(128) NOT NULL"
);
Anschliessend die Sprachdatei angepasst:
PHP-Code:
$GLOBALS['TL_LANG']['tl_member']['email'] = array
(
'<span style="display:inline-block;width:194px;">Newsletter - E-Mail-Adresse</span>',
'Bitte geben Sie hier die E-Mail-Adresse für den Newsletter ein.'
);
$GLOBALS['TL_LANG']['tl_member']['privat_email'] = array
(
'<span style="display:inline-block;width:200px;">Privat - E-Mail-Adresse</span>',
'Bitte geben Sie hier ihre private E-Mail-Adresse ein.'
);
Lesezeichen