Contao-Camp 2024
Seite 2 von 2 ErsteErste 12
Ergebnis 41 bis 67 von 67

Thema: Newsletterversand aus Formular aktivieren

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

    Standard

    6h später... und ich hab nix erreicht. Hab echt die ganze Nacht rumprobiert aus verzweiflung aber es bringt nix (

  2. #42
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Frage Lösung für Contao 3.x

    Hallo,

    ich habe versucht, das Ganze mit Contao 3.x umzusetzen - ohne Erfolg. Das Formular funktioniert ohne die Erweiterung problemlos.

    Ich bin nach der Anleitung in diesem Thread #10 und eingefügtem request Token gemäß #24 vorgegangen.

    Im Anhang ist eine ZIP-Datei die meine PHP-Dateien und die error.log enthält.

    Ich kenne mich mit PHP nur wenig aus und komme nicht weiter.

    Gibt es für Contao 3.x schon eine Lösung?

    Danke für die Hilfe.

    Schmidty
    Angehängte Dateien Angehängte Dateien

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

    Standard

    @Schmidty

    hast du unter C3 mal den Autoload-Creator angeworfen?

  4. #44
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Standard Kein Erfolg

    Hallo Zonky,

    Danke für den Hinweis. Den Autoload-Creator habe ich ebenfalls versucht - ohne Erfolg.

    Sobald ich das Formular versende erscheint nur eine weiße Seite und der Zugriff übers Backend ist ebenfalls nicht mehr möglich.

    Die einzige Möglichkeit das ganze Rückgängig zu machen, ist den Ordner "newslettercheckbox" mit einer ".skip"-Datei zu deaktivieren. Dann läuft alles wieder wie gewohnt.

    Viele Grüße

    Schmidty

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

    Standard

    ... und wenn Du die Option "Fehlermeldungen ausgeben" aktivierst, kommen keine Ausgaben statt weisse Seite?

  6. #46
    Contao-Fan Avatar von rezico
    Registriert seit
    04.01.2011.
    Ort
    Nürnberg
    Beiträge
    446

    Standard

    Hat das zufällig schon jemand hinbekommen?
    Also das registrieren einschl. Double Opt in über ein normales Formular?
    Stehe hier jetzt ebenfalls vor dem Invalid Request Token Problem und komme da ehrlich gesagt nicht mehr weiter.
    Danke!
    Contao ist schon was Feines...

  7. #47
    Contao-Nutzer Avatar von colormedia.at
    Registriert seit
    12.09.2013.
    Ort
    Graz
    Beiträge
    12

    Standard Session fehlt

    Hy, cUrl vergibt eine neue Session ID, daher muss die Aktuelle Session ID via Cookie übergeben werden...

    So Funktioniert es mit Contao 3.1...

    Ihr müsst also folgendes einfügen:
    PHP-Code:
    curl_setopt($ch,CURLOPT_COOKIE,"PHPSESSID=".session_id()."; path=/"); 
    Meine Newslettercheckbox.php sieht daher so aus:
    PHP-Code:
    <?php
    class Newslettercheckbox extends Frontend
    {
      public function 
    processFormData($arrPost$arrForm$arrFiles)
        {
            
    $subscribe false;
            if(
    $arrForm['id'] == 1) {
                if(
    $arrPost['newsletter_accept'] == "yes") {
                   
    $subscribe true;
                   
    $PostData = array('REQUEST_TOKEN'=>REQUEST_TOKEN,'FORM_SUBMIT'=>'tl_subscribe','email'=>$arrPost['personalData_EMail'],'channels'=>array('1'));
                   
    $PageReferer "http://".$_SERVER['HTTP_HOST']."/aktuelle-seite.html";
                }
            }
            if(
    $subscribe) {
                   
    $Post http_build_query($PostData);
                   
    $ch curl_init($PageReferer);
                   
    curl_setopt($ch,CURLOPT_REFERER,$PageReferer);
                   
    curl_setopt($ch,CURLOPT_POST,true);
                   
    curl_setopt($ch,CURLOPT_POSTFIELDS,$Post);
                   
    curl_setopt($ch,CURLOPT_MUTE,true);
                   
    curl_setopt($ch,CURLOPT_COOKIE,"PHPSESSID=".session_id()."; path=/");
                   
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
                   
    curl_setopt($ch,CURLOPT_TIMEOUT,4);
                   
    $data curl_exec($ch);
                   
    curl_close($ch);
            }
        }
    }
    ?>
    Ein Timeout wurde eingegeben, da bei mir der Script sonst ewig läuft und erst durch das PHP Timout mit einem 500er Fehler beendet wird.

    LG Erich

    --
    colorMedia e.U.
    http://www.colormedia.at

  8. #48
    Contao-Nutzer Avatar von hartlrobert
    Registriert seit
    07.01.2010.
    Beiträge
    144

    Standard

    Geniale, da sehr flexible Idee.
    Bei mir (2.11.12) laufen beide Varianten (für 2.x und 3.x) mit deaktiviertem Token fast sauber, "nur" dass die E-Mail nicht in den Newsletterverteiler eingetragen und keine Bestätigungsmail gesendet wird.
    Jemand eine Idee? Die Weiterleitungsseite kommt und die Formulardaten werden intern auch korrekt übermittelt.

  9. #49
    Contao-Nutzer Avatar von darki777
    Registriert seit
    03.07.2009.
    Beiträge
    63

    Standard

    Hallo,
    @colormedia.at könntest du uns bitte evtl. die Zip mit allen Dateien dafür bereitstellen?

    Ein Modul dafür gibt es dafür aber noch nicht oder? Habe zumindest noch nichts für Contao 3.x gefunden.
    ioCron - Web & Mobile Development, Webdesign - Unternehmen in Passau
    ioCron Twitter - Folgen und auf dem neuesten Stand bleiben

  10. #50
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard Aktivieren ohne weiteres Formular

    Ich würde gerne das ganze aktivieren, ohne den Nutzer noch zum Abo-Formular zu leiten. Das heißt, ich möchte, dass die Mailadresse in das Datenbankfeld eingetragen wird und keine weitere Weiterleitung stattfindet. Mein Formular wird nämlich schon zu einer anderen Seite weitergeleitet. Hat jemand eine Idee, wie es geht? Danke. Liebe Grüße,

    Jan

  11. #51
    Contao-Nutzer
    Registriert seit
    06.10.2009.
    Beiträge
    161

    Standard

    Ich finde die Lösung mit dem curl Aufruf auch nicht so richtig toll. Kann man das nicht direkt in die Tabelle tl_newsletter_recipients eintragen? Gibt es da tatsächlich noch keine Extension für? Ist doch eigentlich total das Standard ding, Newsletterbox im Kontaktformular!?

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

    Standard

    schließe mich an - das ist wirklich nur eine Not(!)-Lösung...

    ... es sollte doch möglich sein, die "Newsletter-Klasse" aufzurufen - ggf. bietet das notification center mehr Möglichkeiten

    https://contao.org/de/extension-list...center.en.html

  13. #53
    Contao-Nutzer
    Registriert seit
    06.10.2009.
    Beiträge
    161

    Standard

    Alles muß man selber machen... ;-)

    Hier mein Lösungsansatz für 3.3.X:
    Kern ist die system/modules/newslettercheckbox/classes/Newslettercheckbox.php

    PHP-Code:
    <?php 

    namespace Contao;

    class 
    Newslettercheckbox extends Frontend
    {
      public function 
    processFormData($arrPost$arrForm$arrFiles)
        {
            
    // print_r($arrPost);
            //Kontaktformular -> Checkbox für Newsletter aktiviert?
            //********************************************************************

             
    if($arrForm['id'] == 3) {

                if(
    $arrPost['newsletter'] == "Ja") {
                    
    $time time();
                    
    $arrData = array
                    (
                        
    'pid' => 1,
                        
    'tstamp' => $time,
                        
    'email' => $arrPost['email'],
                        
    'active' => 1
                    
    );        
                    
    $this->Database->prepare('INSERT INTO tl_newsletter_recipients %s')->set($arrData)->execute();    
                }
            }
        }
    }
    ?>
    Wie ich da noch so etwas wie Token und Ip reinbekomme, weiß ich nicht, aber so wird die email Adresse gleich eingetragen, ohne "Umweg" über den Curl Request.

    Es braucht auch noch eine system/modules/newslettercheckbox/config/autoload.php

    PHP-Code:
    <?php

    ClassLoader
    ::addClasses(array
    (
        
    // Classes
        
    'Contao\Newslettercheckbox'                => 'system/modules/newslettercheckbox/classes/Newslettercheckbox.php',
    ));

    ?>

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

    Standard

    siehe \system\core\modules\ModuleRegistration.php => createNewUser

    leider ist die Funktion protected und damit wird man nicht so einfach darauf zugreifen können - wahrscheinlich wäre der sauberste Weg, ein neues Form-Element zu erstellen, in dem man auch die Einstellmöglichkeiten wie bei dem FE-News-Modul hat und das Element "irgendwo" im Formular einbauen kann...

    ... das hätte den Vorteil, das man das Element z.B. auch in Isotope verwenden kann, welches in der Lage ist, "Formular-Partials" im Check-out einzubinden...

    noch eine Möglichkeit: per Hook eine separate E-Mail mit den Anmeldedaten erzeugen und an Mailchimp senden - da gibt es m.E. die Möglichkeit per E-Mail User anzumelden

  15. #55
    Contao-Nutzer
    Registriert seit
    06.10.2009.
    Beiträge
    161

    Standard

    Der Code für Newslettercheckbox.php oben verursacht in Verbindung mit dem efg einen Fehler. Also SO nicht zu verwenden...

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

    Standard

    ich habe inzwischen eine "Bridge", mit dem ich ein neues Formularelement habe (gleiche Einstellungsmöglichkeiten wie beim FE-Modul) und die Versendung entweder separat oder per Notification-Center läuft...

  17. #57
    Contao-Nutzer Avatar von Dillinja
    Registriert seit
    13.07.2009.
    Ort
    Dresden
    Beiträge
    109

    Standard

    Hi Zonky,

    ich habe inzwischen eine "Bridge", mit dem ich ein neues Formularelement habe (gleiche Einstellungsmöglichkeiten wie beim FE-Modul) und die Versendung entweder separat
    Darf ich fragen, wie du das an der Stelle gelöst hast? Weil ich bekomme meine Ansätze unter Contao 3.3.6 nicht zum laufen.

    Viele Grüße
    Micha

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

    Standard

    Für Contao eine "Formular-Newsletter-Bridge" ist ne eigenständige Erweiterung - closed source...


    bei Interesse bitte PN senden

  19. #59
    Contao-Nutzer
    Registriert seit
    20.08.2012.
    Beiträge
    28

    Standard Newslettercheckbox mit Avisota?

    Hallo liebe Contao Freunde

    Ich habe noch eine ältere Cotnao installation (2.11.16) und bin deshalb mit der Anleitung von buchbergertom super klar gekommen.
    Nun will der Kunde jedoch zusätzliche Felder wie Anrede, Name, Vorname bei den Newsletter eintragungen gespeichert haben.
    Deshalb wollte ich auf den Avisota Newsletter zurückgreifen. Nun funktioniert aber das mit dem automatischen Eintragen nicht mehr..
    Dazu habe ich folgenden Ansatz von Gregor erfolglos probiert..

    Zitat Zitat von gregor Beitrag anzeigen
    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');
    Hat jemand hier eine Lösung oder einen Lösungsansatz für mich?

    Vielen Dank und freundliche Grüsse
    Sepher

  20. #60
    Contao-Nutzer
    Registriert seit
    17.10.2014.
    Beiträge
    72

    HTML Modul dazu

    Hi,

    wir haben dazu ein Modul gebaut:

    https://github.com/iMi-digital/imi_newsletter_form

    Grüße,

    Alexander

  21. #61
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    484

    Standard

    sehr schön. Vielen Dank.

  22. #62
    Contao-Fan Avatar von Gassi
    Registriert seit
    18.11.2009.
    Ort
    Konstanz
    Beiträge
    423

    Standard

    Hey,
    ich versuche das Modul gerade ohne den Composer zu installieren - gelingt aber leider nicht....
    ich stecke den Inhalt der Zip Datei von github in einen Ordner unter modules namens " imi/imi_newsletter_form" und schieb da den kompletten Content rein....
    ist aber wohl leider falsch...?'!


    Edit: Habs endlich hinbekommen - manchmal will contao das update über die Erweiterungsverwaltung nicht machen - dann gehts dafür über die installationsroutine.... Modul läuft sauber mit 3.5.15

    Gruss Gassi
    Geändert von Gassi (23.09.2016 um 14:23 Uhr)

  23. #63
    Contao-Fan
    Registriert seit
    01.11.2013.
    Beiträge
    644

    Standard Keine Checkbox zur Auswahl?

    Habe die Erweiterung erfolgreich unter 3.5.28 am laufen.

    Leider wird mir keine Checkbox im Frontend angezeigt, wo man auswählen kann ob man den Newsletter abonnieren möchte oder eben nicht.
    Man wird automatisch auf die Seite weitergeleitet, welche bestätigt dass man den Newsletter abonniert hat und noch per E-Mail bestätigen muss.

    Was aber wenn jemand den NL nicht haben möchte - das Formular sollte dies nicht erzwingen. Gibt es dazu eine Einstellungsmöglichkeit?

    Edit: Sehe gerade auf Github dass dies wohl nicht implementiert wurde.
    Ein user spricht hier von einem workaround - doch ich frage mich wie das gehen soll.

    Man müsste abfragen ob Checkbox ja/nein und auf die entsprechende Seite weiterleiten bzw. das Bestätigungs-E-Mail auslösen oder eben nicht.
    Geändert von gm-team (12.09.2017 um 10:45 Uhr)

  24. #64
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    23

    Standard

    Servus,

    ich versuche, ausgehend vom Modul von s3lf in ein bestehendes Anmelde-Formular für ein Event (Erweiterung calendar-extended) eine "Newsletter abonnieren"-Checkbox einzubauen.
    Bis zum Hook processFormData und der if(Checkbox-angeklickt)-Abfrage funktioniert alles einwandfrei. Auch das Newsletter Abonnieren selber klappt. Allerdings wird dann die Eventanmeldung nicht registriert. Das heißt, der Hook bricht die Eventanmeldung ab, obwohl processFormData doch erst NACH der Verarbeitung des Anmeldeformulars eingreifen sollte, oder?

    Im Prinzip sieht meine Class so aus, wie bei s3lf: https://github.com/iMi-digital/imi_n...rmObserver.php

    Hab ich einen Denk- / Verständnisfehler drin?
    Gibt’s mittlerweile was einfacheres, was ich übersehen habe? (Contao 3.5.31)

    zur Ergänzung noch mein tatsächlicher Code (bzw. der von s3lfs Modul angepasste):
    PHP-Code:
    <?php

    class Newsletterabo extends \Backend
    {
        protected function 
    getModule($intId)
    {
            
    $objRow = \ModuleModel::findByPk($intId);
            if (
    $objRow === null)
            {
                    return 
    null;
            }
            
    // Check the visibility (see #6311)
            
    if (!\Controller::isVisibleElement($objRow))
            {
                    return 
    null;
            }
            
    $strClass = \Module::findClass($objRow->type);
            if (!
    class_exists($strClass))
            {
                    static::
    log('Module class "'.$strClass.'" (module "'.$objRow->type.'") does not exist'__METHOD__TL_ERROR);
                    return 
    null;
            }
            
    $objRow->typePrefix 'mod_';
            return new 
    $strClass($objRow'main');
    }

        public function 
    newsletterabonnieren($arrPost$arrForm$arrFiles)
        {
            if (
    $arrForm['id'] == && $arrPost[newsletter]=='abonnieren') {
                
    //Newsletter-abonnieren-Funktion

                /** @var $objModule \Contao\ModuleSubscribe */
                
    $objModule $this->getModule(25); // Modul 25 ist das Newsletter-abonnieren-Modul
                // always subscribe all channels
                
    $arrChannels unserialize($objModule->nl_channels);
                \
    Input::setPost('channels'$arrChannels);
                
    // simulate newsletter form post
                
    \Input::setPost('FORM_SUBMIT''tl_subscribe');
                
    $objModule->generate();
                \
    Input::setPost('FORM_SUBMIT'null);
    // abonniert Newsletter, fährt aber dann nicht mit Eventanmeldung fort …
            
    }
        }
    }
    Geändert von moritz123 (21.11.2017 um 13:39 Uhr)

  25. #65
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    23

    Standard

    Ich benutze jetzt den Hook sendNotificationMessage vom Notification Center. Dadurch werden beide Anfragen (Eventanmeldung und Newsletterabo) im System registriert. Auch die Double-Opt-In-Mail vom Newslettermodul geht raus. Was jetzt noch fehlt ist der Versand der Eventbestätigungsmail …

    config.php
    PHP-Code:
    $GLOBALS['TL_HOOKS']['sendNotificationMessage'][] = array('Newsletterabo''newsletterabonnieren'); 
    Newsletterabo.php
    PHP-Code:
    <?php

    class Newsletterabo extends \Backend
    {
        protected function 
    getModule($intId
    {
            
    // gekürzt. Die Funktion gibt das Newsletter-Abonnieren-Modul zurück
    }

        public function 
    newsletterabonnieren($objMessage$arrTokens$language$objGatewayModel)
        {
            if (
    $arrTokens['formconfig_id'] == && $arrTokens['form_newsletter']=='abonnieren') {

                
    // Bestätigungsmail Kursanmeldung
                
    $arrTokens['form_newsletter']=''// dass er nicht in Dauerschleife hängen bleibt
                
    $objMessage->send($arrTokens); // Sollte theoretisch die Anmeldebestätigung versenden. Macht es aber nicht.


                //Newsletter-abonnieren-Funktion
                // gekürzt. Das Newsletterabo wird generiert (siehe letzter Beitrag)

            
    }
    return 
    true// <= das hat gefehlt
        
    }
    }
    Edit: Das return true am Schluss hat gefehlt. Jetzt läufts!
    Geändert von moritz123 (22.11.2017 um 14:24 Uhr)

  26. #66
    Contao-Fan Avatar von dtptiger
    Registriert seit
    20.06.2009.
    Ort
    Nürnberg
    Beiträge
    816

    Standard Conato 4 und imi_newsletter_form

    Hallo,

    wie könnte ich die Extension "imi_newsletter_form" in Contao 4.4 verwenden?

    Fragt
    dtptiger

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

    Standard

    Erweiterung für C4 mit den Einstellungen wie beim "original" Modul

    https://extensions.contao.org/?p=e-s...sletter-bundle

Aktive Benutzer

Aktive Benutzer

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

Ä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

Lesezeichen

Lesezeichen

Berechtigungen

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