Ich möchte beim Speichern eines neuen Mitgliedes in tl_member einen neuen Datensatz in einer Metamodels Tabelle anlegen.
Hierzu habe ich einen onSubmit Callback
PHP-Code:
* @Callback(table="tl_member", target="config.onsubmit")
angelegt. Darin möchte ich den notwendigen Service Container anlegen.
Dies schlägt leider mit der folgenden Fehlermeldung fehl:
Code:
Attempted to call an undefined method named "getContainer"
Der Callback ist so aufgebaut:
PHP-Code:
<?php
namespace App\EventListener\DataContainer;
use Contao\CoreBundle\ServiceAnnotation\Callback;
use Contao\DataContainer;
use \Contao\FrontendUser;
use \Contao\ModulePersonalData;
/**
* @Callback(table="tl_member", target="config.onsubmit")
*/
class termsOfUseDateOnsubmitCallbackListener
{
public function onSubmitCallback(...$arguments): void
{
$modelName = 'mm_dz_mem_member';
if ($arguments[0] instanceof DataContainer){
$dc = $arguments[0];
$memberId = $dc->activeRecord->id;
} else {
$member = $arguments[0];
$actMember = $member->getInstance();
$memberId = $actMember->id;
}
/** @var \MetaModels\IMetaModelsServiceContainer $container */
$container = $this->getContainer();
Es scheint also noch etwas zu fehlen um den richtigen Container zu erzeugen. Kann mir jemand einen Hinweis geben?
Lesezeichen