Ergebnis 1 bis 3 von 3

Thema: Andere Texte im Newsletter-Modul

  1. #1
    Contao-Nutzer
    Registriert seit
    09.12.2012.
    Beiträge
    96

    Standard Andere Texte im Newsletter-Modul

    Hallo zusammen,

    derzeit spiele ich mit dem Newsletter-Modul herum, das im wesentlichen schon alles so tut, wie ich es mir vorstelle. Mit einer Ausnahme: Die vorgefertigten Texte, sowohl in der HTML-Ausgabe als auch in den E-Mails zur Aktivierung/Deaktivierung möchte ich durch andere ersetzen. Also die Texte in den entsprechenden Dateien gesucht, sie in newsletter/languages/*/default.php bzw. newsletter/languages/*/tl_module.php gefunden und meine Versionen davon in langconfig.php definiert. Dies funktioniert für alle Strings, die sich in newsletter/languages/*/default.php befinden, nicht jedoch für diejenigen, die in newsletter/languages/*/tl_module.php definiert sind; letztere Datei enthält u.a. die Inhalte der Bestätigungs-Mails. Was auch immer ich eintrage, es steht stets der Default-Text in den Mails und nicht derjenige, den ich in langconfig.php reingeschrieben habe:

    Code:
    // Aus newsletter/languages/*/tl_module.php
    if ($GLOBALS['TL_LANGUAGE'] == 'de')
    {
        $GLOBALS['TL_LANG']['tl_module']['text_subscribe'][1] = "Du hast die Benachrichtigungen für ##domain## eingeschaltet. Bitte klicke auf folgenden Link, um sie endgültig zu aktivieren:\n\n    ##link##.\n\n (Falls Du nicht weißt, worum es hier geht, dann hat sich jemand vertippt und versehentlich Deine Adresse angegeben. In diesem Fall ignoriere diese Mail einfach. Danke.)\n";
        $GLOBALS['TL_LANG']['tl_module']['text_unsubscribe'][1] = "Du bekommst nun keine Benachrichtigungen für ##domain## mehr!\n";
    }
    else
    {
        $GLOBALS['TL_LANG']['tl_module']['text_subscribe'][1] = "Subscribe-Text in English";
        $GLOBALS['TL_LANG']['tl_module']['text_unsubscribe'][1] = "Unsubscribe-Text in English";
    }
    Hat jemand eine Idee, was da schiefgehen könnte? (Contao 3.2.7)

    Danke.

  2. #2
    Contao-Nutzer
    Registriert seit
    09.12.2012.
    Beiträge
    96

    Standard

    Ich kriege es nicht hin. Mittlerweile habe ich gelernt, dass die *.php-Dateien in Contao >= 3.1 gar keine Rolle mehr spielen, sondern die sprachabhängigen Texte in *.xlf-Dateien gespeichert werden, updatesichere Überschreibungen jedoch nach wie vor nach langconfig.php gehören, und zwar in derselben Array-Schreibweise wie vorher.

    Soweit, so gut, doch die in obigem Beitrag genannten Zeilen in langconfig.php (z.B. $GLOBALS['TL_LANG']['tl_module']['text_subscribe'][1]) greifen nicht. Den Text selbst habe ich nun in newsletter/languages/de/tl_module.xlf gefunden, doch wenn ich ihn dort testweise ändere, wird in der Mail immer noch der ursprüngliche Text gesendet. Wo zum Kuckuck kommt der her? Language-Cache löschen und neu generieren hilft ebenfalls nicht.

    Nun habe ich noch den Holzhammer ausgepackt: newsletter/languages/de gelöscht und Cache neu aufgebaut. Und immer noch wird der Original-Text in der Mail gesendet, obwohl er diesen jetzt gar nicht mehr finden dürfte.

    Irgendwie habe ich das Gefühl, dass ich an der völlig falschen Stelle suche... wie kann Contao Texte finden, die nicht mehr da sind?

  3. #3
    Contao-Nutzer
    Registriert seit
    09.12.2012.
    Beiträge
    96

    Standard

    ... und nachdem ich mir schon ernsthaft überlegte, an Geister zu glauben, löste sich das Ganze schließlich in Wohlgefallen auf:

    Die in der .xlf-Datei genannten Strings sind ausschließlich die Defaults, die für neue Module gelten! Bestehende Module speichern die Texte natürlich im Feld Abonnementbestätigung in der Datenbank, wenn ich dieses ändere, ändert sich natürlich auch der Text der versandten Mails. (Auf die Idee, in den Moduleinstellungen nachzugucken, statt mir nur in denjenigen unter "Newsletter" einen Wolf zu suchen, hätte ich auch früher kommen können...) Vielleicht hilft's ja jemandem, der per Suche auf diesen Thread stößt.

    (Es wäre m. E. sinnvoller gewesen, den Eintrag $GLOBALS['TL_LANG']['tl_module']['text_subscribe'] passender zu benennen (z. B. $GLOBALS['TL_LANG']['tl_module']['text_subscribe_default'] o.ä.))

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
  •