Ergebnis 1 bis 7 von 7

Thema: ModuleSubscribe ersetzen für eigene Absenderadresse bei Subscribe-Mails

  1. #1
    Contao-Nutzer
    Registriert seit
    20.05.2014.
    Beiträge
    9

    Standard ModuleSubscribe ersetzen für eigene Absenderadresse bei Subscribe-Mails

    Hallo,
    ich möchte Folgendes erreichen: Beim abonnieren eines Newsletters möchte ich für die Subscribe-Mail eine eigene Absenderadresse verwenden, d.h. nicht die des Administrators.

    Im Modul ModuleSubscribe.php der Newsletter-Erweiterung steht dazu folgender Block:

    // Activation e-mail
    $objEmail = new \Email();
    $objEmail->from = $GLOBALS['TL_ADMIN_EMAIL'];
    $objEmail->fromName = $GLOBALS['TL_ADMIN_NAME'];
    $objEmail->subject = sprintf($GLOBALS['TL_LANG']['MSC']['nl_subject'], \Idna::decode(\Environment::get('host')));
    $objEmail->text = $strText;
    $objEmail->sendTo($varInput);

    Wenn ich direkt in der Datei "from" und "fromName" mit meine Wunschdaten eingebe, funktioniert alles prima, ist aber nicht updatesicher.

    Meine Idee war nun, die Datei im gleichen Verzeichnis zu klonen und CustomModuleSubscribe.php zu nennen.
    Den Klassenname habe ich auch geändert: class CustomModuleSubscribe extends \Module
    Anschließend habe ich in der localconfig.php folgende Zeile eingetragen:

    $GLOBALS['FE_MOD']['newsletter']['subscribe'] = 'CustomModuleSubscribe';

    Leider wird das Modul dann aber nicht mehr im Frontend angezeigt, d.h. irgendetwas ist falsch.
    Wenn ich die Zeile zu
    $GLOBALS['FE_MOD']['newsletter']['subscribe'] = 'ModuleSubscribe';

    ändere (also den Default-Wert einsetze), funktioniert alles, woraus ich schließe, dass ich zumindest an der richtigen Stelle arbeite.

    Wäre für jeden Hinweis dankbar, was ich falsch gemacht oder vergessen habe. Auch eine elegantere Möglichkeit, Absendername und Adresse bei den Subscribe-Mails updatesicher anzupassen wäre höchst willkommen. Das ist mein erster Versuch, Contao etwas tiefergehend zu "hacken"...

    Viele Grüße,
    Jonathan

  2. #2
    Contao-Nutzer
    Registriert seit
    20.05.2014.
    Beiträge
    9

    Standard

    Ergänzung:
    Ich orientiere mich an diesem Beispiel:
    https://contao.org/de/manual/3.2/cus...ueberschreiben

    Aber mir ist nicht klar, in welchem Verzeichnis ich meine alternative CustomModuleSubscribe.php speichern muss, und wo ich die Zeile

    $GLOBALS['FE_MOD']['newsletter']['subscribe'] = 'CustomModuleSubscribe';

    eingeben muss. In dem Beispiel soll der Eintrag in die Datei xcustom/config/config.php gespeichert werden, und das sei updatesicher. Aber sind nicht die Dateien dcaconfig.php und localconfig.php für solche Sachen gedacht? Mal abgesehen davon, dass ich das Verzeichnis xcustom in Contao 3.2.11 gar nicht habe, und die Datei ModuleNavigation.php, um die es im Beispiel geht, woanders liegt, nämlich in system/modules/core/modules

  3. #3
    Contao-Nutzer
    Registriert seit
    20.05.2014.
    Beiträge
    9

    Standard

    Und noch etwas: Habe diese Zeile auch bereits ERFOLGLOS (sorry, in einer früheren Version stand: erfolgreich...) in die dcaconfig.php geschrieben

    $GLOBALS['FE_MOD']['newsletter']['subscribe'] = 'CustomModuleSubscribe';

    Bin mir aber nicht sicher, ob sie da oder in die localconfig.php (oder wo ganz anders hin...) gehört.
    Geändert von Jonathan Berlin (12.07.2014 um 11:46 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    20.05.2014.
    Beiträge
    9

    Standard

    OK, ich habe ein Lösung gefunden. In der datei localconfig.php habe ich folgendes eingefügt:

    ClassLoader::addClasses(array
    (

    'Contao\ModuleSubscribe' => 'system/modules/newsletter/modules/CustomModuleSubscribe.php'

    ));


    Damit wird dann meine Datei eingefügt statt der eigentlichen ModuleSubscribe.php. In der Datei habe ich auch nichts geändert (auch nicht den Klassennamen), bis dass ich Absender und Absendername der Subscribe-Mail direkt eingetragen habe.

    Würde mich aber trotzdem interessieren, ob es dafür eine bessere, sicherere Lösung gäbe!


    KORREKTUR: Funktioniert nicht! Siehe Beitrag weiter unten.
    Geändert von Jonathan Berlin (15.07.2014 um 17:54 Uhr)

  5. #5
    Contao-Nutzer
    Registriert seit
    20.05.2014.
    Beiträge
    9

    Standard

    KORREKTUR: Funktioniert nicht! Siehe Beitrag weiter unten.

    Funktioniert bislang gut, und falls jemand das nachbauen möchte, nicht vergessen, beim ModuleUnsubcribe analog vorzugehen...

    ClassLoader::addClasses(array
    (

    'Contao\ModuleSubscribe' => 'system/modules/newsletter/modules/CustomModuleSubscribe.php',
    'Contao\ModuleUnsubscribe' => 'system/modules/newsletter/modules/CustomModuleUnsubscribe.php'
    ));
    Geändert von Jonathan Berlin (15.07.2014 um 17:53 Uhr)

  6. #6
    Contao-Nutzer
    Registriert seit
    20.05.2014.
    Beiträge
    9

    Standard

    Die Lösung in den obigen beiden Posts funktioniert langfristig NICHT sondern führt dazu, dass die Seite nicht erreichbar ist!

    Grund: Wenn ich das hier in die localconfig.php einfüge:
    ClassLoader::addClasses(array
    (

    'Contao\ModuleSubscribe' => 'system/modules/newsletter/modules/CustomModuleSubscribe.php',
    'Contao\ModuleUnsubscribe' => 'system/modules/newsletter/modules/CustomModuleUnsubscribe.php'
    ));

    ...fügt Contao nach einer Weile (nicht sofort - deshalb hat es ja erst geklappt!) mehrere "="-Zeichen in dem Abschnitt ein, wodurch fehlerhafter Code entsteht.

    Die Frage bleibt also offen: Wie kann ich Contao updatesicher dazu bringen, meine angepassten Module zu verwenden, oder sonstwie angepasste Mailadressen für die Subscribe/Unsubscribe-Mails zu verwenden. Habe da jetzt schon Stunden damit verbracht, und wäre über jeden Hinweis dankbar!

  7. #7
    Contao-Nutzer
    Registriert seit
    20.05.2014.
    Beiträge
    9

    Standard Problem ist noch ungelöst

    ...das nur nochmal als Hinweis und Bitte um Antwort.

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
  •