Ok, Teilproblem ist gelöst. Nun gibt es aber ein Neues. Ich möchte dynamisch einen Default-Wert für Textfelder bestimmen. Die Callback-Funktion onLoadCallback ist hier mein sinnvoller Helfer.
Allerdings lassen sich keine default-Werte für Textfelder angeben.
Beispiel:
In den tl_calendar_events gibt es im Formular das Textfeld 'title'.
PHP-Code:
'fields' => array
(
'title' => array
(
'label' => &$GLOBALS['TL_LANG']['tl_calendar_events']['title'],
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'maxlength'=>255)
),
Nun möchte ich diesem dynamisch einen Standardwert zuordnen.
PHP-Code:
$GLOBALS['TL_DCA']['tl_calendar_events']['config']['onload_callback'] = array
(
array('myclass', 'onLoadCallback')
);
Diese Klasse existiert selbstverständlich auch und ist im (kurzen) Beispiel so implementiert:
PHP-Code:
class myclass extends Backend {
public function onLoadCallback($dcTable)
{
$default = 'test-title';
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['title']['default'] = $default;
//$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['title']['inputType'] = 'select';
}
Wenn ich den default-Wert schon in der dca statisch festlegen könnte, dann wäre das überhaupt kein Problem, das funktrioniert auch. Wenn ich allerdings den Default-Wert über die Callback-Funktion setzen möchte, dann schlägt der Versuch fehlt.
Die Umdefinition des inputType auf 'select' klappt einwandfrei - nur zum Test.
Woran kanns also liegen, dass mir kein Default-Wert eingetragen wird... funktioniert das nur bei einem Textfeld nicht?
Lesezeichen