Double Opt-In Prozesse können im Portal analog zum Shop erstellt und eingesetzt werden. Die dafür verfügbare Library ist View/PortalDoubleOptIn
. Ein durch View/PortalDoubleOptIn
generierter Link führt den Nutzer auf eine Seite, die Informationen zum Double Opt-In ausgeben kann. Auf dieser Seite wird die Bestätigung des Vorangs durch einen Klick auf einen Button gefordert. Beim Klick auf den Button wird die Opt-In-Logik ausgeführt, welche sich je nach Double Opt-In Datensatz unterscheiden kann.
Die Double Opt-In Prozesse werden durch Component/Verification
abgesichert.
Erstellen von Double Opt-In Datensätzen
Double Opt-In Datensätze können über die Methode \Brandbox\CmsLayoutPortal\View\PortalDoubleOptIn\Manager::register
erstellt werden. Diese Methode nimmt u.A. einen Identifikator entgegen, der zur Identifizierung der Art des Double Opt-Ins genutzt werden kann. Darüberhinaus können weitere Parameter mitgegeben werden, die man beim Auslösen der Opt-In Logik verwenden kann. Diese Methode erstellt einen Verification
-Datensatz samt Token und gibt ein Objekt zurück, welches alle nötigen Daten enthält, bspw. auch einen Link, mit dem Das Double Opt-In Formular aufgerufen werden kann.
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
$verificationResult = $this
->staticController(\Brandbox\CmsLayoutPortal\View\PortalDoubleOptIn\Manager::class)
->register('NewsletterConsent', ['emailAddress' => 'test@test.com'], 1000)
; |
Der Verifizierungstoken wird im Double Opt-In Prozess als Identifikator genutzt, der über die URL übertragen wird. Entsprechend enthält ein Double Opt-In Datensatz einen Fremdschlüssel auf den dazugehörigen Verification
-Datensatz. Anhand der Verification
-Entity kann nach einer PortalDoubleOptIn
-Entity gesucht werden.
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
$doi = $this
->staticController(\Brandbox\CmsLayoutPortal\View\PortalDoubleOptIn\Manager::class)
->getPortalDoubleOptIn($verificationResult->verification)
; |
Wurde ein PortalDoubleOptIn-Datensatz erstellt, kann der dazu generierte Token an einen Nutzer übertragen werden.
Interaktion mit dem OptIn
Klickt ein Nutzer auf den übermittelten Link, sollte er auf einer Seite landen, welche die View OTP-Protection (Portal)
enthält. Diese Seite muss portalCta
heißen. Auf dieser View wird ein FrameworkContainer platziert, welcher über verschiedene Events erweiterbar ist.
Event | Beschreibung |
---|---|
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtection | Dieses Event bildet den Einstiegspunkt für die Ansicht. Das Event enthält ein FrameworkContainer-Objekt, welches befüllt werden kann und diverse Informationen zum Double Opt-In Prozess. Standardmäßig werden in diesem Event die folgenden Events ausgelöst. Diese Events sind inhaltlich sehr ähnlich. Sie unterscheiden sich nur in der Priorität und bieten einem Integrator Möglichkeiten an gezielten Stellen der Ansicht Inhalte zu manipulieren. |
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionCaption | Dieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt. |
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionForm | Dieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt. |
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionNotice | Dieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt. |
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionLinks | Dieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt. |
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionActions | Dieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt. Ein Listener für dieses Event platziert den Button, mit dem der Double Opt-In Prozess bestätigt werden kann. |
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionNotifications | Dieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt. |