Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: 4.8.5 [Gelöst] Session, Mail, ProcessFormData

  1. #1
    Contao-Nutzer
    Registriert seit
    16.08.2012.
    Beiträge
    41

    Standard 4.8.5 [Gelöst] Session, Mail, ProcessFormData

    Hallo Leute,

    ich komme grade nicht weiter und bräuchte mal Rat.

    Über das NC verschicke ich Mails in welchen per InsertTag ein paar Werte aus der Session eingebaut sind. Nun will ich diese Sessiondaten nach dem Versand der Mail wieder löschen. Ich dachte ein Haken bei ProcessFormData wäre genau passend, ist er aber nicht. Der Haken wird _vor_ dem Versenden ausgeführt, die Session gelöscht und somit auch keine Daten in der Mail.

    Wie mach ich das bzw. Warum ist das so? NC?

    Vielen Dank und schönen Abend noch.
    ciao, Stefan
    Geändert von stefan der zweite (19.11.2019 um 23:02 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.061
    Partner-ID
    10107

    Standard

    Für ein Bundle oder für die Applikation? Wie hast du deinen Hook momentan registriert?

  3. #3
    Contao-Nutzer
    Registriert seit
    16.08.2012.
    Beiträge
    41

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Für ein Bundle oder für die Applikation? Wie hast du deinen Hook momentan registriert?
    Gute Frage :-)

    Es ist ein simples Modul.

    Code:
    // autoload.php
    ClassLoader::addClasses([
        'My\HookProcessFormData' => 'system/modules/process-form/HookProcessFormData.php'
    ]);
    Code:
    // config.php
    $GLOBALS['TL_HOOKS']['processFormData'][] = ['My\HookProcessFormData', 'reset'];
    Code:
    //HookProcessFormData.php
    namespace My;
    
    class HookProcessFormData
    {
        public function reset($formData, $formDCA)
        {
            if ('process-form' === $formDCA['formID']) {
                $session = \Session::getInstance();
                $session->set('myData', []);
            }
        }
    }
    In Forms.php ist der Schalter `$this->sendViaEmail` false, weshalb es nicht zum `$email->sendTo($recipients);` kommt und mein Haken die Session löscht, die Mail dann aber dennoch raus geht. Gibt es da in NC vielleicht einen weiteren Einhängepunkt?

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.061
    Partner-ID
    10107

    Standard

    Du musst in deiner autoload.ini festlegen, dass dein Modul nach dem Notification Center geladen wird - damit dein Hook danach ausgeführt wird. Oder du arbeitest moderner: https://docs.contao.org/dev/getting-...g-development/

  5. #5
    Contao-Nutzer
    Registriert seit
    16.08.2012.
    Beiträge
    41

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du musst in deiner autoload.ini festlegen, dass dein Modul nach dem Notification Center geladen wird - damit dein Hook danach ausgeführt wird.
    Würdest Du mir verraten wie das zu notieren ist?

    Zitat Zitat von Spooky Beitrag anzeigen
    Ich bin beeindruckt. Super Arbeit und ja, ich will :-) Die letzten zwei Jahre war ich contao-Abstinent, ich muss mich erst wieder ranwanzen.

    Danke.
    ciao, Stefan

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.061
    Partner-ID
    10107

    Standard

    system/modules/process-form/config/autoload.ini
    Code:
    requires[] = "notification_center"

  7. #7
    Contao-Nutzer
    Registriert seit
    16.08.2012.
    Beiträge
    41

    Standard

    Vielen Dank und schönen Abend noch.
    ciao, Stefan

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •