Das ist die load_callback-Funktion in meinem DCA:
PHP-Code:
public function loadNachname($varValue, DataContainer $dc)
{
// Füllt Nachname aus, wenn leer und ein Spieler ausgewählt wurde
if($dc->activeRecord->name_id && !$varValue)
{
$objRegister = $this->Database->prepare("SELECT * FROM tl_kaderlisten_namen WHERE id = ?")
->execute($dc->activeRecord->name_id);
return $objRegister->lastname;
}
else return $varValue;
}
Die Funktion füllt das Feld mit einem Wert aus. Der Name ($objRegister->lastname) der zu dem Wert ($dc->activeRecord->name_id), wird in das Feld eingetragen. Wenn ich nun das Formular speichere bleibt das Feld in der Datenbank leer. Contao speichert also meinen in das Feld automatisch eingetragenen Wert nicht in der Datenbank. Das überrascht mich etwas. Hebelt denn ein load_callback inkl. Feldmanipulation die normale Speicherfunktion von Contao aus? Falls ja, würde das heißen, ich muß noch einen save_callback machen und
PHP-Code:
public function saveNachname($varValue, DataContainer $dc)
{
return $varValue;
}
weil das auch nicht funktioniert im save_callback wohl direkt in die Datenbank schreiben?! Ist das so? Oder gibt es eine einfachere Möglichkeit?
Lesezeichen