Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

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
languagephp
titleErstellen eines Double Opt-In Datensatzes
linenumberstrue
collapsetrue
$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
languagephp
titleSuche nach einem PortalDoubleOptIn-Datensatz
linenumberstrue
collapsetrue
$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.

EventBeschreibung
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\OnPopulateOtpProtectionCaptionDieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt.
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionFormDieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt.
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionNoticeDieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt.
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionLinksDieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt.
View\PortalDoubleOptIn\Lib\Event\OnPopulateOtpProtectionActionsDieses 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\OnPopulateOtpProtectionNotificationsDieses Event enthält neben den üblichen Informationen zum Double Opt-In ein FrameworkContainer-Objekt.