Hallo Yellowbird,
es ist nicht möglich, das Versenden der Bestätigungsmail zu verschieben, bis nachdem der Benutzer die Daten per Double Opt in bestätigt hat.
Zu diesem Zeitpunkt liegen die Daten sozusagen nicht mehr vor, bzw. im falschen 'Format'.
Der gesamte Prozess, wie die Bestätigungsmail erzeugt wird, müsste hierfür nachgebildet werden.
Wenn Double Opt In verwendet wird, ist es oft auch so, dass die Daten nach der Bestätigung an ein externes Systerm übergeben werden sollen (z.B. ein CRM).
Die benötigte Schnittstelle ist dann individuell abhängig vom Ziel-System.
Damit man die Schnittstelle einfach programmieren kann, gibt es explizit zwei Visforms Events, die während des Bestätigungsprozesses getriggered werden.
onVisformsBeforeConfirmDoi
onVisformsAfterConfirmDoi
In einem Custom Plugin für Joomla 5 kannst du folgenden Code verwenden, um auf die Events und ihre Daten zuzugreifen.
Code:
public function onVisformsBeforeConfirmDoi(VisformsBeforeConfirmDoiEvent $event): void {
// context = 'com_visforms'
// use in double-opt-in confirmation process
// implement an individual action before the confirmation is validated and database changes are made
$context = $event->getContext();
$fid = $event->getFid();
$recordId = $event->getRecordId();
}
public function onVisformsAfterConfirmDoi(VisformsAfterConfirmDoiEvent $event): void {
// context = 'com_visforms'
// used to implement an individual action performed after successful double-opt-in
$context = $event->getContext();
$fid = $event->getFid();
$recordId = $event->getRecordId();
}
Herzliche Grüße,
Aicha