Contao-Camp 2024
Ergebnis 1 bis 4 von 4

Thema: Erweiterung "pdir/contao-survey" – Ergebnis per Hook bzw. Mail versenden

  1. #1
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    502

    Standard Erweiterung "pdir/contao-survey" – Ergebnis per Hook bzw. Mail versenden

    Bitte um eure Hilfe bei diesem Problem:

    Ich möchte mit dieser Erweiterung:
    https://github.com/pdir/contao-survey
    ... einen Online-Fragebogen erstellen.

    Das Ergebnis des Fragebogen soll nach dem Ausfüllen per Mail versendet werden.

    Laut dieser Anleitung:
    https://de.contaowiki.org/Survey_ce
    ... lässt sich das mit einem Hook lösen.
    (Die betreffende Passage ist ganz am Ende der Anleitung)

    Nun zu meiner Frage:
    Wie erstelle ich unter Contao 4.12 einen Hook und versende dann die Umfrage-Daten?

    Hier mein Ansatz:

    Schritt #1
    Unter "contao/config.php" eine Datei mit folgendem Inhalt anlegen:
    Code:
    <?php
    use App\EventListener\MyClass;
    
    $GLOBALS['TL_HOOKS']['surveyFinished'][] = array('MyClass', 'surveyFinished');
    Schritt #2
    Unter "src/EventListener/MyClass.php" eine Datei mit folgendem Inhalt anlegen:
    Code:
    <?php
    namespace App\EventListener;
    
    
    class MyClass
    {
        public function surveyFinished($formData)
        {
               
                // hier wird noch das assoziative Array mit den Datenbankfeldern der Umfrage in einen String umgewandelt
                $formDataString = ....
    
                $email=new Email();
                $email->from                = \Input::post('email');
                $email->fromName            = 'Test Absender';
                $email->subject                = 'Test-Nachricht';
                $email->text                 = $formDataString;
                $email->sendTo('meine@email.de');        
        }
    }

    ... würdet ihr das auch so machen?
    Oder gibts da eine bessere Lösung?

    Oder klappt das mit dem obigen Ansatz garnicht?

    Vielen Dank für eure Hilfe!
    lg Georg

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    im Prinzip sieht das für mich erstmal ganz gut aus - Du könntest versuchen mit "Annotoations" zu arbeiten (https://docs.contao.org/dev/framewor...ng-annotations) und die Datei/Eintrag in "contao/config.php" dir zu sparen.

    mach in

    PHP-Code:

    [...]
    public function 
    surveyFinished($formData)
    {
        
    dd($formData);
    [...] 
    was ein dump&die erzeugt (nur zum Test!)

  3. #3
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.941

    Standard

    Zitat Zitat von thesweetg Beitrag anzeigen
    Code:
    <?php
    use App\EventListener\MyClass;
    
    $GLOBALS['TL_HOOKS']['surveyFinished'][] = array('MyClass', 'surveyFinished');
    Hier würde ich sagen, daß das use Statement (für PHP) in keinem Zusammenhang zum 'MyClass' steht. Mein Vorschlag wäre daher

    Code:
    <?php
    use App\EventListener\MyClass;
    
    $GLOBALS['TL_HOOKS']['surveyFinished'][] = array(MyClass::class, 'surveyFinished');
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  4. #4
    Alter Contao-Hase
    Registriert seit
    22.06.2009.
    Ort
    Köln
    Beiträge
    1.342

    Standard

    Ich hänge mich einmal an diesen Beitrag.
    Ich habe das Modul unter 4.9.28 am laufen und stehe nun vor der Aufgabe, ein abhängiges Selectfeld einzubauen (Ja/Nein) und entsprechend unterschiedliche Antworten darzustellen.
    Ich konnte diese Funktion nicht finden und bin mir nicht sicher, ob ich es übersehen habe (Seitentemplates?). Ist es bisher nicht vorgesehen? Oder hat es schon einer von euch umgesetzt?
    Sonst ist das Modul echt Klasse und bietet sehr viele Einstellungen. Aber dieses Feature benötige ich zwingend und ohne dies kann ich es nicht einsetzen.
    Danke euch
    Viele Grüße aus Köln
    Matu

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
  •