PHP-Code:
<?php
// contao/dca/tl_member.php
// Erforderlich, damit das Feld im Backend hinzugefügt wird
use Contao\CoreBundle\DataContainer\PaletteManipulator;
// Eigenes Feld definieren
$GLOBALS['TL_DCA']['tl_member']['fields']['title'] = [
// Den Labeltext gleich hier im DCA definieren
'label' => ['Beruf', 'Beruf'],
'inputType' => 'text',
'eval' => ['mandatory' => false, 'tl_class' => 'w50', 'maxlength' => 255],
'sql' => ['type' => 'string', 'length' => 255, 'default' => ''],
];
$GLOBALS['TL_DCA']['tl_member']['fields']['description'] = [
// Den Labeltext gleich hier im DCA definieren
'label' => ['Beschreibung', 'Beschreibung hinzufügen'],
'inputType' => 'textarea',
'eval' => ['rte' => 'tinyMCE', 'tl_class' => 'clr', 'style'=>'width:100%;'],
'sql' => "text NULL"
];
$GLOBALS['TL_DCA']['tl_member']['fields']['button_linkurl'] = [
// Den Labeltext gleich hier im DCA definieren
'label' => ['Google-Link', 'Google-Link'],
'inputType' => 'text',
'eval' => ['rgxp' => 'url', 'decodeEntities' => true, 'maxlength' => 255, 'dcaPicker' => true, 'addWizardClass' => false, 'tl_class' => 'w50', 'configure' => true],
'sql' => ['type' => 'string', 'default' => ''],
];
$GLOBALS['TL_DCA']['tl_member']['fields']['avatar'] = [
// Den Labeltext gleich hier im DCA definieren
'label' => ['avatar', 'Bild auswählen'],
'inputType' => 'fileTree',
'eval' => ['files' => true, 'filesOnly' => true, 'tl_class' => 'w50 m12', 'fieldType' => 'checkbox', 'extensions' => 'jpg,png,jpeg'],
'sql' => "binary(16) NULL",
];
// Das neue Feld den gewünschten Inhaltselementen hinzufügen:
PaletteManipulator::create()
->addField(array('title', 'description'), 'personal_legend', PaletteManipulator::POSITION_APPEND)
->addField(array('avatar', 'button_linkurl'), 'contact_legend', PaletteManipulator::POSITION_APPEND)
->applyToPalette('default', 'tl_member')
;
Damit habe ich zwei neue Textfelder, eine Textarea und einen Bildupload im Mitglieder-Bereich im Backend. Obwohl das 'sql' => "text NULL" bei "description" nicht anders ist als bei Contao 4.13, bemängelt er jetzt die Länge. Woran liegt das?