Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 40 von 67

Thema: Newsletterversand aus Formular aktivieren

  1. #1
    Contao-Nutzer Avatar von Kati
    Registriert seit
    23.06.2009.
    Beiträge
    5

    Standard Newsletterversand aus Formular aktivieren

    Ich erstelle über den Formulargenerator ein Formular, es hat u.a. die Felder:
    • Vorname
    • Nachname
    • Email
    • Newsletter abonnieren (ja/nein)

    Nach dem Absenden des Formulars, wenn Newsletterabo gewählt wurde und mit Eingabe einer Email-Adresse,
    sollen diese Daten in einem (im Backend wählbaren) Newsletterkanal gespeichert werden.

    Code:
    config.php
    /*Form element : Newsletter abonnieren (ja/nein) */
    $GLOBALS['TL_FFL']['form_newsletter_checkbox'] = 'FormNewsletterCheckBox';
    
    /* Hook*/
    $GLOBALS['TL_HOOKS']['processFormData'][] = array('FormNewsletterCheckBox', 'processFormData');
    Nach dem das Formular erfolgreich abgeschickt wurde,
    möchte ich den Newsletterversand aktivieren (falls gewählt).
    Die function processFormData($arrPost, $arrForm, $arrFiles) wird ausgeführt.

    Wie kann ich das am bestem umsetzen?

  2. #2
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    195

    Standard

    stehe gerade vor dem gleichen Problem: Ich habe ein Kontaktformular und die Emailadresse soll bei getätigter Checkbox auch für den Newsletter eingetragen werden. Als Lösungsansatz habe ich folgenden Eintrag gefunden: https://contao.org/board/topic/5466.html

    1. eigenes Modul: config.php:
    PHP-Code:
    $GLOBALS['TL_HOOKS']['processFormData'][] = array('FormNewsletterCheckBox''processFormData'); 
    2. eigenes Modul: FormNewsletterCheckBox.php:
    PHP-Code:
    class FormNewsletterCheckBox extends Frontend
    {
      
    //Prüfcode, ob Newslettercheckbox aktiviert...
      
    //COde, der die Newsletter-Seite aufrufen, Emailadresse eintragen und abschicken soll
      
    $PostData = array('email'=>'meine@emailadresse.de''FORM_SUBMIT'=>'tl_subscribe');
      
    $Post http_build_query($PostData); 

      
    $ch curl_init("http://{$_SERVER['HTTP_HOST']}/newsletter.html");
      
    curl_setopt ($chCURLOPT_HEADER);
      
    curl_setopt ($chCURLOPT_REFERER"http://{$_SERVER['HTTP_HOST']}");
      
    curl_setopt ($chCURLOPT_POSTFIELDS$Post);
      
    curl_setopt ($ch,CURLOPT_POST,TRUE);
      
    $data curl_exec$ch );
      if(
    $data == false) { echo "Fehler";} else { echo $data;}
      echo 
    curl_error($ch);
      
    curl_close ($ch);

    Ausgabe ($data): 1
    Aber tatsächlich wird die Adresse nicht gespeichert und erhalte auch keine Aktivierungsemail. Hat jemand vielleicht eine Idee, was ich übersehen haben könnte?

    phpinfo() gibt an, dass das Modul installiert ist. Habe es auch mit fsockopen() versucht, aber leider auch gescheitert...

    Viele Grüße,
    Petra

  3. #3
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    195

    Standard Update

    Anstelle des Newsletter-Abo-Formulars habe ich ein eigenes Formular gesetzt und als Pflichtfeld eine Email-Adresse gesetzt und siehe da, das Formular wird vom PHP-Code (FORM_SUBMIT=natürlich entsprechend angepasst) ausgefüllt und abgeschickt. Aber wo bitte ist denn der Unterschied zwischen den Formularen?

    1. eigenes Formular:
    HTML-Code:
    <form action="testformular.html" id="f7" method="post" enctype="application/x-www-form-urlencoded">
    <div class="formbody">
    <input type="hidden" name="FORM_SUBMIT" value="auto_testform" />
    <input type="hidden" name="MAX_FILE_SIZE" value="6048000" />
      <label for="ctrl_62" class="mandatory error"><span class="invisible">Pflichtfeld</span> nachname<span class="mandatory">*</span></label> 
      <input type="text" name="nachname" id="ctrl_62" class="text mandatory error" /> 
      <input type="submit" id="ctrl_62_submit" class="submit" value="senden" /><br />
    </div>
    </form>
    2. NL-Subscribe-Formular:
    HTML-Code:
    <form action="testformular.html" id="tl_subscribe" method="post" enctype="application/x-www-form-urlencoded">
    <div class="formbody">
    <input type="hidden" name="FORM_SUBMIT" value="tl_subscribe" />
    <input type="hidden" name="channels[]" value="1" />
    <label for="ctrl_email" class="invisible"></label>
    <input type="text" name="email" id="ctrl_email" class="text" value="" />
    <input type="submit" name="submit" class="submit" value="Go" />
    </div>
    </form>
    Gebe ich bei dem eigenen Formular keine richtige Emailadresse ein, wird mir die Seite mit dem Formular plus Fehlermeldung auch angezeigt, bei dem Newsletterformular regt sich da gar nichts.

    Für Anregungen wäre ich sehr dankbar!

    Viele Grüße, Petra

  4. #4
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    195

    Standard Gelöst

    Nach stundenlangem Probieren habe ich nun doch noch den Fehler gefunden. Es muss einfach noch der Channel-Wert mit übergeben werden...

    PHP-Code:
    $PostData = array('email'=>'meine@emailadresse.de''FORM_SUBMIT'=>'tl_subscribe','channels[]'=>'1'); 
    Vielleicht hilft es ja noch weiteren Nutzern

    Viele Grüße, Petra

  5. #5
    Contao-Nutzer
    Registriert seit
    12.01.2010.
    Beiträge
    42

    Standard

    Petra,
    vielen Dank für das informative Selbstgespräch! Finde es immer wieder schade, dass auf manche Themen einfach keine Antworten kommen, aber Du hast ja glücklicherweise selbst eine Lösung gefunden.
    Ich bin noch nicht ganz so weit Lösungen anbieten zu können, hätte aber noch eine Frage die Du (oder doch noch jemand anderes?) vielleicht beantworten kannst:
    Wie finde ich die Channel-Werte (ohne in der Datenbank nachzusehen) und gibt es vielleicht eine Möglichkeit bei mehreren Channels diese aufzulisten (so wie es das das vorgefertigte Modul macht)?
    Grüße, Klaus

  6. #6
    Contao-Nutzer Avatar von buchbergertom
    Registriert seit
    21.04.2010.
    Ort
    Tirol
    Beiträge
    134

    Standard Noch 2 Fragen zur Lösung...

    Hallo Petra, ich bräuchte genau deine Lösung ebenfalls für ein Kontaktformular bei angehakter Newsletter checkbox!

    Jetzt hab ich aber noch 2 Fragen:
    1. Wie prüfst du in deiner Lösung auf das angehakte Checkbox Feld im Kontaktformular???? Kann das nicht erkennen...
    2. Was macht 'meine@emailadresse.de' denn da?? Es soll doch die Email-Adresse aus dem Kontaktformular übernommen werden und direkt in das Newsletter Subscription Formular eingegeben und ausgeführt werden, oder???

    Bin Programmiertechnischer Grünschnabel... Aber irgendwie muss ich solche Dinge ja lernen...

    DANKE, tom

  7. #7
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    195

    Standard

    Hallo,

    hatte gar nicht gesehen, dass hier weitere Fragen aufgetaucht sind:

    1. anstatt meine@emailadresse.de muss natürlich $arrPost['email'] stehen und
    2. ob die Checkbox angeklickt wurde, teste ich simple mit
    PHP-Code:
    if($arrPost['senden'][0] == "Newsletter bestellen"
    3. welcher Channel ausgewählt wurde, müsste doch eigentlich alles in dem Array $arrPost[] stehen, oder?

    Da ich den Code für ein bereits abgeschlossenes Kundenprojekt genutzt habe, kann ich spontan auch nicht viel ausprobieren, sorry!

    Herzliche Grüße,
    Petra

  8. #8
    Contao-Nutzer Avatar von buchbergertom
    Registriert seit
    21.04.2010.
    Ort
    Tirol
    Beiträge
    134

    Standard

    Hallo,

    hab das jetzt mal ausprobiert und irgend etwas läuft bei mir falsch...

    Ich habe unter modules einen neuen Ordner /newslettercheckbox mit dem Unterordner /config erstellt. In /config liegt die Datei config.php

    PHP-Code:
    $GLOBALS['TL_HOOKS']['processFormData'][] = array('FormNewsletterCheckBox''processFormData'); 
    Direkt im Ordner /newslettercheckbox liegt die Datei FormNewsLetterCheckBox.php

    PHP-Code:
     
    class FormNewsletterCheckBox extends Frontend
    {
      
    //Prüfcode, ob Newslettercheckbox aktiviert...
      
    if($arrPost['senden'][0] == "Newsletter bestellen")  {
     
    //COde, der die Newsletter-Seite aufrufen, Emailadresse eintragen und abschicken soll
      
    $PostData = array('email'=>$arrPost['email'], 'FORM_SUBMIT'=>'tl_subscribe','channels[]'=>'1');
      
    $Post http_build_query($PostData); 

      
    $ch curl_init("http://{$_SERVER['HTTP_HOST']}/home.html");
      
    curl_setopt ($chCURLOPT_HEADER);
      
    curl_setopt ($chCURLOPT_REFERER"http://{$_SERVER['HTTP_HOST']}");
      
    curl_setopt ($chCURLOPT_POSTFIELDS$Post);
      
    curl_setopt ($ch,CURLOPT_POST,TRUE);
      
    $data curl_exec$ch );
      if(
    $data == false) { echo "Fehler";} else { echo $data;}
      echo 
    curl_error($ch);
      
    curl_close ($ch);
    }  

    Das läuft so auf jeden Fall mal nicht... Ein Frage hätte ich dabei z.B. zur if Abfrage (ob die Newsletter Checkbox angehakt ist)
    Was soll senden und Newsletter bestellen im Anfrageformular entsprechen??

    Bin da leider noch gar nicht fit, aber vielleicht könnt Ihr (bzw. Petra) mir noch genauer weiterhelfen...

    DANKE, tom

  9. #9
    Contao-Nutzer Avatar von petra
    Registriert seit
    10.01.2010.
    Ort
    Herford
    Beiträge
    195

    Standard

    Hallo Tom,

    Dir fehlt die entsprechende Funktion innerhalb der Klasse:

    PHP-Code:
        public function processFormData($arrPost$arrForm$arrFiles)
        { 
         
    //hier erscheint der Code...
             

    Herzliche Grüße,
    Petra

  10. #10
    Contao-Nutzer Avatar von buchbergertom
    Registriert seit
    21.04.2010.
    Ort
    Tirol
    Beiträge
    134

    HTML Die Lösung!

    Nachdem mir Petra in mehreren Schritten aus der Patsche geholfen hat, hier nun die Lösung für alle, die eine Newslettercheckbox in einem Formular einbauen möchten und bei angehakter Box die Email Adresse automatisch in den Newsletterverteiler aufgenommen werden soll.

    Schritt 1 - Eigenes Modul
    Unter /system/modules/ folgende Struktur anlegen
    /newslettercheckbox/ (beliebiger Name)
    /newslettercheckbox/Newslettercheckbox.php (beliebiger Name - muss aber auch in der config.php dementsprechend angepasst werden -- bei Kleinschreibung hatten wir Probleme mit Typolight, deshalb das große "N")
    /newslettercheckbox/config/ (muss so benannt sein)
    /newslettercheckbox/config/config.php

    Schritt 2 - Der Code in der Dateien config.php ('Newslettercheckbox' entspricht der Datei im Modulordner)
    PHP-Code:
    <?php if (!defined('TL_ROOT')) die('You can not access this file directly!');
     
    $GLOBALS['TL_HOOKS']['processFormData'][] = array('Newslettercheckbox''processFormData');
    ?>
    Schritt 3 - Der Code in der Newslettercheckbox.php (wie bereits erwähnt müssen dieser Name und der Name in der config.php übereinstimmen, ebenso der Klassenname - siehe code)
    PHP-Code:
    <?php

    //$arrPost: die aus dem Fromular übermittelten Daten
    //$arrForm: quasi die "Konfiguration" des Formulars (Einstellungen aus Formulargenerator)
    //$arrFiles: ggf. per Upload-Feldern hochgeladene Dateien

    class Newslettercheckbox extends Frontend
    {
      public function 
    processFormData($arrPost$arrForm$arrFiles)
        {
            
    //print_r($arrPost); So kann man die übergebenen Werte ausgeben lassen - zur Prüfung
            //Kontaktformular -> Checkbox für Newsletter aktiviert?
            //********************************************************************

             
    if($arrForm['id'] == 1) {
                   
    $subscribe false;

                if(
    $arrPost['newsletter'] == "Ja") {
                    
    $subscribe true;
                    
    $PostData = array('email'=>$arrPost['email'], 'FORM_SUBMIT'=>'tl_subscribe','channels[]'=>'1');
                    
    $ch curl_init("http://{$_SERVER['HTTP_HOST']}/home.html");
                }
            }

            
    //subscribe?
            
    if($subscribe) {
                
    $Post http_build_query($PostData);
                
    curl_setopt ($chCURLOPT_HEADER);
                
    curl_setopt ($chCURLOPT_REFERER"http://{$_SERVER['HTTP_HOST']}");
                
    curl_setopt ($chCURLOPT_POSTFIELDS$Post);
                
    curl_setopt ($ch,CURLOPT_POST,TRUE);
                
    curl_setopt ($ch,CURLOPT_HTTPGET,FALSE);
                
    $data curl_exec$ch );
                
    curl_close ($ch);
            }

        }
    }

    ?>
    Schritt 4 - Was bedeutet das?? Worauf muss ich achten??
    PHP-Code:
    if($arrForm['id'] == 1) { 
    Hier "1" muss der ID des Formulars entsprechen (siehe Backend Formulargenerator)
    PHP-Code:
    if($arrPost['newsletter'] == "Ja"
    die Checkbox "newsletter" hat den Wert "Ja" -- ebenfalls dem eigenen Formular entnehmen oder lt. Schritt 5 herausfinden
    PHP-Code:
    $arrPost['email'
    'email' entspricht der Feldbezeichnung im eigenen Formular. Somit wird das Feld 'email' automatisch in das Newsletter subscribe Formular eingetragen.
    PHP-Code:
    $ch curl_init("http://{$_SERVER['HTTP_HOST']}/newsletter.html"); 
    hier muss der Link zum Newsletteranmeldeformular angegeben werden. Ich konnte bei mir /newsletter.html komplett weglassen, da es sich in meinem Fall auf der Startseite befand.

    Schritt 5 - Testen und staunen
    Sollte eigentlich alles klappen. Man kann sich mit
    PHP-Code:
    print_r($arrPost); 
    die übergebenen Werte aus dem Formular anzeigen lassen. Dann sieht man genau, welche Werte übergeben werden! Wie üblich wird eine Aktivierungsmail an den User versandt!

    Ich hoffe, das war jetzt nicht zu kompliziert!

    tom --- und Danke noch mal an Petra für den Code!!

  11. #11
    Contao-Nutzer
    Registriert seit
    02.09.2009.
    Ort
    Oelde
    Beiträge
    30
    Partner-ID
    5490

    Standard

    Hab's grad eingebaut - funktioniert 1a! :-) Danke an petra für das Stück Code!

  12. #12
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.293
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo buchbergertom,
    habt ihr vllt Lust das ganze mal in nen wiki zu packen? -> http://de.contaowiki.org
    Wäre super

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  13. #13
    Contao-Nutzer
    Registriert seit
    24.06.2010.
    Ort
    Neudörfl
    Beiträge
    150
    Partner-ID
    6135

    Standard

    hallo zusammen,
    ich versuch jetzt schon über 2 Stunden das Formular zum Laufen zu bringen. Bitte nochmals um Hilfe:
    Code:
    $ch = curl_init("http://{$_SERVER['HTTP_HOST']}/home.html");
    = die Danke-Seite vom Formular?
    Code:
    curl_setopt ($ch, CURLOPT_REFERER, "http://{$_SERVER['HTTP_HOST']}/newsletter.html");
    = newsletter.html = die URL vom Newsletterformular des Standard-Moduls?



    Der Newsletterempfänger will einfach nicht in die Gruppe maschieren. Seltsamerweise sind bei der Danke-Seite die Umlaute dann auch kryptisch...
    Wenn ich mir den Post mit print_r ausgeben lasse, scheint alles richtig zu sein. link
    Danke jetzt schon für Eure Hilfe! lg klaus
    Geändert von goosie (24.11.2010 um 12:00 Uhr)

  14. #14
    Contao-Nutzer
    Registriert seit
    24.06.2010.
    Ort
    Neudörfl
    Beiträge
    150
    Partner-ID
    6135

    Daumen hoch

    ich habs, endlich. Entschuldigung.
    In der Newslettercheckbox.php müssen beide Links auf die Url des Newsletterformulars zeigen... Ich nehme an, da das Formular des Beispiels auf der home.html liegt funktioniert dieses Beispiel.
    Danke für das Script an Kati, für die Beschreibung an Tom! . Klaus

  15. #15
    Alter Contao-Hase
    Registriert seit
    04.02.2010.
    Beiträge
    1.366

    Standard

    Hi,
    wir kämpfen noch mit dem Modul, bei uns wird anscheinend der Hook nicht ausgeführt, zumindest steht der print_r direkt in der Function processFormData, aber nix am Bildschirm zu sehen. Auch wird die Mail nicht unter Newsletter registriert.

    Danke für Tipps
    Gruß
    Michel

  16. #16
    Alter Contao-Hase
    Registriert seit
    04.02.2010.
    Beiträge
    1.366

    Standard

    Hallo, Hook wird ausgeführt. Aber die Funktion curl_init wirft einen "Call to undefined function .." Error.

    Brauch ich da nochwas?

  17. #17
    Alter Contao-Hase
    Registriert seit
    04.02.2010.
    Beiträge
    1.366

    Standard

    Ok, ok. Ich scho wieder. CURL ist ´ne php Extenstion. Hab ich aktiviert, geht etz. Aber die Adresse wird nicht unter dem Newsletter-Channel eingetragen...

    Danke für weitere Tipps.

  18. #18
    Alter Contao-Hase
    Registriert seit
    04.02.2010.
    Beiträge
    1.366

    Standard

    Hi, ok, die beiden Links für Curl_init und REFERER waren falsch. Die Var {$_SERVER['HTTP_HOST']} geht dann nicht, wenn Contao in einem Unterverzeichnis ist, dann am Besten hard-coden.

    Jetzt geht alles, danke für die coole Anleitung.

    Gruß
    Michel

  19. #19
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Vielen Dank für diese tolle Anleitung, funktioniert perfekt mit dem Contao Newslettermodul.

    Nun wollte ich dies auch mit/für Avisota einsetzen und habe die Zeile mit dem PostData wiefolgt modifiziert:

    Code:
    $PostData = array('email'=>$arrPost['email'], 'FORM_SUBMIT'=>'avisota_subscription_15','submit[]'=>'subscribe','list[]'=>'1');
    Die E-Mail Adresse aus dem Kontaktformular wird korrekt ins Inputfeld übergeben, jedoch erfolgt keine automatische Eintragung. Die Newsletter-Seite bleibt stehen.
    Klicke ich mit der Maus auf den Subscribe-Button erfolgt die Eintragung.

    Als Programmier-Laie bin ich mir nicht sicher, ob das alles hinter dem Form_Submit so OK ist. Sicherlich wird hier das Problem liegen.

    Freue mich über jeden Hinweis.


    Danke und Gruß

    Gregor

  20. #20
    Contao-Nutzer Avatar von jabadoo
    Registriert seit
    15.08.2009.
    Beiträge
    63

    Frage

    Wird bei dieser Verfahrensweise das Double Opt-In Verfahren verwendet, also bekommt der User noch eine Aktivierungsemail an seine E-Mail-Adresse, um das Abo zu bestätigen? Ich konnte das aus der obigen Beschreibung nicht herauslesen...

    Für einen kleinen Hinweis wäre ich dankbar

    Helena

  21. #21
    Contao-Fan Avatar von jschma
    Registriert seit
    09.09.2010.
    Beiträge
    408

    Standard

    hi,

    erstmal danke für die Anleitung! Habe auch alles 1:1 ausgeführt, aber irgendetwas stimmt noch nicht.
    Wird das eigene Modul automatisch aufgerufen? Oder woher weiß denn mein Formular (mit EFG) überhaupt, dass es das Modul aufrufen soll.

    Sonst wird ja niemals die Mail übergeben? Bin etwas verwirrt

    Danke für jeden Tip!

  22. #22
    Contao-Fan Avatar von jschma
    Registriert seit
    09.09.2010.
    Beiträge
    408

    Standard

    Hmmm ich melde mich nochmal. Kann es sein das diese Anleitung für Contao 2.10 nicht funktioniert?

  23. #23
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Bisher funktionierte diese Anleitung bestens.
    Nach einem Update von Contao 2.9.5 auf 2.10.3 funktioniert sie jedoch nicht mehr.
    Es kommt beim Versand des Formulars die Fehlermeldung "Invalid request token".

    Mit Contao 2.10.x hat sich ja einiges geändert und sicherlich muss hier auch etwas angepaßt werden.
    Hat jemand einen Tipp, wo hier was angepaßt werden muss, dass es auch unter 2.10.3 funktioniert?

    Oder gibt es eine andere Lösung, um beim Formularversand eine Checkbox anzubieten, die auch eine automatische Newsletteranmeldung vornimmt.


    LG
    Gregor

  24. #24
    Contao-Nutzer
    Registriert seit
    24.06.2010.
    Ort
    Neudörfl
    Beiträge
    150
    Partner-ID
    6135

    Standard

    Hallo Gregor,
    seit contao 2.10 gibt es den request Token, welcher bei jedem Formular beigefügt werden muss.

    Du kannst diesen theoretisch unter Einstellungen deaktivieren, würde ich aber nicht machen. Füge einfach deinem Template des Formulares folgende Zeile aus dem folgenden Link hinzu: http://goo.gl/pUD9c

    lg goosie

  25. #25
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Hallo goosie,

    vielen Dank für deinen Hinweis.
    Aber das ganze läuft ja ohne Template.

    Ich denke mal, dass ich das Script anpassen muss. Und zwar sicherlich dort, wo das Form_Submit steht.

    PHP-Code:
    $PostData = array('email'=>$arrPost['email'], 'FORM_SUBMIT'=>'tl_subscribe','channels[]'=>'1'); 
    Nur, wie und wo setze ich den Request _Token in das Array ein?


    LG
    Gregor

  26. #26
    Contao-Nutzer
    Registriert seit
    24.06.2010.
    Ort
    Neudörfl
    Beiträge
    150
    Partner-ID
    6135

    Standard

    Hallo Gregor,
    hast du Upgedatet auf 2.10* ??
    EDIT: Du musst ja dennoch ein formular haben ... schau mal ein deinen tempaltefolder und suche nach "<form"
    Geändert von goosie (27.12.2011 um 12:55 Uhr)

  27. #27
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Hallo goosie,

    jepp, Update auf 2.10.3 ist gemacht.

    Ich habe das nach obrigen Anleitung im Post #10 gemacht. Das Formular ist mit dem EFG erstellt worden und die Funktionalität für die Checkbox kommt aus dem zuvor genannten Script, bzw. Modul. Ein Template (.tpl, .xhtml oder .html5) gibt es da nicht.

    So wie ich das verstehe, sendet das Script bei aktivierter Checkbox ein Formular an das Newsletter-Modul zur Eintragung einer E-Mail Adresse. Leider nur ohne den erforderlichen Request Token. Wird die Checkbox nicht aktiviert, klappt es ja mit dem Formularversand.

    Als Nicht-PHP'ler müßte ich nur wissen, wo und wie ich das mit dem Request Token in dem Script anpassen muss, dass es auch korrekt mit Contao 2.10 funktioniert. Mein bisherigen Integrationsversuche endeten mit einer Fehlermeldung oder einer weiße Seite.


    LG
    Gregor

  28. #28
    Contao-Nutzer
    Registriert seit
    24.06.2010.
    Ort
    Neudörfl
    Beiträge
    150
    Partner-ID
    6135

    Standard

    EFG ist nur bis 2.7.5 offiziell unterstützt. Fakt ist, dass Du diese Zeile wohl oder übel einbinden musst (template oder im Core der Erweiterung ...). oder - in Deinem Fall - vielleicht unter Einstellungen den Request token deaktivierst.
    lg
    klaus

  29. #29
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Hm, EFG nur bis 2.7.5 offiziel unterstützt
    Mein EFG ist bis 2.10.1 freigegeben.

    Deaktivieren möchte ich nichts.
    Wie bereits geschrieben, ich suche halt einen Hinweis zur Integration des Request Token in das Script, wo und wie.


    LG
    Gregor

  30. #30
    Contao-Nutzer
    Registriert seit
    24.06.2010.
    Ort
    Neudörfl
    Beiträge
    150
    Partner-ID
    6135

    Standard

    oh.. sorry, komisch. habs mir jetzt testweise installiert. es sind definitiv die request token dabei. hast du einen link zum projekt?

  31. #31
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Hm, bei Dir läuft das unter #10 beschriebene newslettercheckbox.php unter 2.10.x fehlerfrei mit aktiviertem Request Token ohne Änderung?
    Du kannst ein EFG-Formular mit aktivierter Checkbox abschicken und die E-Mail Adresse wird im Contao-Newsletter eingetragen und wartet dann auf Bestätigung?

    So wie ich das Laienhaft sehe, baut sich ja newslettercheckbox.php ja ein eigenes Formular zusammen, wenn die Checkbox im EFG-Formular aktiviert wurde und versendet dieses Formular seperat. Nur leider bei mir ohne Request Token.


    LG
    Gregor

  32. #32
    Contao-Nutzer
    Registriert seit
    24.06.2010.
    Ort
    Neudörfl
    Beiträge
    150
    Partner-ID
    6135

    Standard

    probier mal
    Code:
    #$PostData = array('email'=>'meine@emailadresse.de','FORM_SUBMIT'=>'tl_subscribe');
    $PostData = array('email'=>'meine@emailadresse.de', 'REQUEST_TOKEN'=>'{{request_token}}', 'FORM_SUBMIT'=>'tl_subscribe');

  33. #33
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Vielen Dank für die Code-Schnipsel, aber leider keine Äderung.
    Nachwievor kommt die Fehlermeldung mit dem Hinweis zum "Invalid Request Token".

    Browsercache habe ich vorher geleert und Cookies jedesmal vorher entfernt.

    Damit der Newsletterchannel auch übernommen wird habe ich auch folgenden Code probiert:

    PHP-Code:
    $PostData = array('email'=>$arrPost['email'], 'FORM_SUBMIT'=>'tl_subscribe','channels[]'=>'1''REQUEST_TOKEN'=>{{request_token}}); 
    und auch

    PHP-Code:
    $PostData = array('email'=>$arrPost['email'], 'REQUEST_TOKEN'=>{{request_token}}, 'FORM_SUBMIT'=>'tl_subscribe','channels[]'=>'1'); 
    LG
    Gregor

  34. #34
    Contao-Nutzer
    Registriert seit
    24.06.2010.
    Ort
    Neudörfl
    Beiträge
    150
    Partner-ID
    6135

    Standard

    sorry gregor, ich fürchte es muss sich jemand anders für dein problem finden. keine idee mehr .... tut mir leid...

  35. #35
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Trotzdem vielen Dank für Deine Bemühungen, goosie.

    LG
    Gregor

  36. #36
    Contao-Fan
    Registriert seit
    12.01.2011.
    Beiträge
    322

    Standard

    Hallo,

    ich habe gerade versucht diesen Anleitung für mein Kontaktformular umzusetzen, nur leider bekommen ich immer den Fehler: "Invalid request token!".

    Kann mir einer sagen was ich ändern muss damit ich unter Conto Version 2.11 mit diesem Code arbeiten kann?

    Danke.

  37. #37
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Unter Einstellungen > Sicherheitseinstellungen die Funktion Anfrage-Token deaktivieren.

    Anders habe ich es nicht zu laufen gebracht, da ich für die Newsletter-Anmeldungen automatisch keinen gültigen Request-Token generiert bekomme.

    LG
    Gregor

  38. #38
    Contao-Nutzer
    Registriert seit
    17.12.2010.
    Ort
    Schwabenländle
    Beiträge
    120

    Standard

    Funktioniert der Code von oben noch mit Contao 2.11(.5) ?
    Oder gibt es da mittlerweile eine komfortablere Lösung (evtl. mit efg)?

  39. #39
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Ich habe es nicht mit Contao 2.11.x ausprobiert, aber wenn die Anfrage-Tokens unter Einstellungen deaktiviert sind, sollte es funktionieren. Einfach mal testen und eine Info hier posten ob's geht oder nicht.

    LG
    Gregor

  40. #40
    Contao-Fan Avatar von izanagi
    Registriert seit
    19.01.2011.
    Ort
    Köln
    Beiträge
    595

    Standard

    Schade es scheint keiner eine Lösung gefunden zu haben. Ich stehe gerade vor dem selben Problem

    Was mich mal interessieren würde, nutzt das Script den Weg über das newsletter template oder gehts direkt zur verarbeitung an die ModuleSubscribe.php ?
    Eigentlich muss 'REQUEST_TOKEN'=>REQUEST_TOKEN doch ausreichen bei der Übergabe
    Geändert von izanagi (10.12.2012 um 16:49 Uhr)

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Newsletterversand an nicht mehr existierende Adresse
    Von philsniff im Forum Newsletter
    Antworten: 4
    Letzter Beitrag: 12.11.2010, 13:30
  2. Antworten: 0
    Letzter Beitrag: 10.10.2010, 12:24
  3. Grenze beim Newsletterversand?
    Von philsniff im Forum Newsletter
    Antworten: 2
    Letzter Beitrag: 27.02.2010, 11:48
  4. Vereinfachter Newsletterversand
    Von N.Parker im Forum Newsletter
    Antworten: 9
    Letzter Beitrag: 24.02.2010, 20:35
  5. Probleme beim Newsletterversand
    Von StBMarcus im Forum Newsletter
    Antworten: 2
    Letzter Beitrag: 04.01.2010, 16:47

Berechtigungen

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