Danke, das hätte ich natürlich selbst finden müssen … Stand auf dem Schlauch.
Allerdings komm ich immer noch nicht wirklich weiter. Vielleicht verwende ich die Callbacks auch falsch?
Mein Test:
Dachte, ich schau mir das vom Modul Personal Data ab.
Also hab ich in die DCA-Config folgendes gepackt:
PHP-Code:
$GLOBALS['TL_DCA']['tl_member']['fields']['firstname']['load_callback'] = array(array('MeineKlasse','meineFunktion'));
Meine Funktion:
PHP-Code:
public function meineFunktion($varValue, DataContainer $dc)
{
return $varValue;
}
So wie hier zu finden.
Bekomme aber folgende Fehlermeldung:
PHP-Code:
Recoverable error: Argument 2 passed to MeineKlasse::meineFunktion() must be an instance of DataContainer, instance of FrontendUser given, called in /Applications/XAMPP/xamppfiles/htdocs/verso/contao-3.5.15/system/modules/core/modules/ModulePersonalData.php on line 195 and defined in system/modules/vs-jobs/modules/ModuleJobs.php on line 91
Was auch zu erwarten war, wenn ich mir das hier anschaue.
Also gehe ich davon aus, dass das Problem die Callback-Funktion selbst ist und mache da eine Abfrage, ob es sich um ein DataContainer-Objekt handelt oder um ein Model?
PHP-Code:
public function meineFunktion($varValue, $entry)
{
if ($obj instanceof DataContainer)
{
...
}
else if ($obj instanceof MyModel)
{
}
…
return $varValue;
}
Wäre das so richtig, irgendwie kommt es mir etwas unschön vor?
Lesezeichen