Neuerdings Fatal Error mit E-Mail Vorlagen

Thema wurde von pema, 16. Oktober 2019 erstellt.

  1. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    Seit 2-3 Tagen haben wir einen eigenartigen Fehler bzgl. der Tracking Informationen in den E-Mail Vorlagen (Statusänderung):

    Code:
    FATAL ERROR(1): "Uncaught Error: Call to a member function getTrackingCode() on null in templates_c/f18c8b37e2ecfad09b12c46486d9d44c9e55a74d_0.file.gm_temp_email.html.php:200
    Stack trace:
    #0 vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_5da704345cf526_70681547(Object(Smarty_Internal_Template))
    #1 vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(Smarty_Internal_Template))
    #2 vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compiled->render(Object(Smarty_Internal_Template))
    #3 vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render(false, 0)
    #4 vendor/smarty/smarty/libs/sysplugins/smart"
    Das betrifft sowohl getTrackingCode() als auch getServiceUrl(). Im Einzelnen kann ich unter E-Mails -> E-Mail Vorlagen keine Vorschau mehr generieren -> Fehler im Pop Up. Beim Ändern eines Status einer Bestellung (mit Haken bei Kunde benachrichtigen und Sendungsnummern mitschicken), kommt auch direkt der Fehler. Die Mail geht nicht raus.

    Wir nutzen eigene Vorlagen, haben aber seit Wochen nichts an den templates geändert.

    Was ich probiert habe:
    • templates_c geleert
    • Alle Caches im Backend auch
    • Browser Cache auch
    • Verschiedene Browser -> alle mit Fehler
    • Original template wiederherstellen -> geht, aber wenn ich den gesamten originalen Block mit {if $PARCEL_TRACKING_CODES_ARRAY && $PARCEL_TRACKING_CODES}......{/if} in mein template einfüge geht es auf einmal wieder nicht.
    • Wenn ich in meinem template den gesamten originalen Block {if $PARCEL_TRACKING_CODES_ARRAY && $PARCEL_TRACKING_CODES}......{/if} weglasse, geht es aber wieder.
    Es scheinen also genau diese Smarty Blöcke mit den dynamischen Tracking Infos zu sein, die Probleme machen. Wie gesagt tritt der Fehler erst neuerdings auf, als wir unser template vor knapp einem Jahr erstellt haben, gab es das Problem nicht. Ist es etwas Serverseitiges? Wir haben GX 3.12.0.4.
     
  2. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Sieht aus als würde auch dann wenn kein Versandtracking für eine Bestellung da ist versucht die Informationen dafür zu besorgen. Wahrscheinlich fehlt da eine Bedingung in der Mailvorlage.
     
  3. pema
    pema Erfahrener Benutzer
    Registriert seit:
    17. Juni 2012
    Beiträge:
    448
    Danke erhalten:
    73
    Danke vergeben:
    122
    #3 pema, 16. Oktober 2019
    Zuletzt bearbeitet: 16. Oktober 2019
    Danke.
    Es sind 3 Bedingungen vorhanden.
    1. Sehr geehrter, sehr geehrte....
    2. {if $NOTIFY_COMMENTS}{/if}
    3. der originale Block aus dem Gambio template (1:1 so übertragen) zum Tracking.

    Ich glaube aber eine Fehlerquelle gefunden zu haben: Es scheint am WYSIWYG/HTML Editor zu liegen. Ich füge über die HTML Schaltfläche den Code ein, klicke auf "Text" um das Ergebnis anzuschauen. Sehe den gesamten Bereich für das Tracking aber nicht und gehe wieder auf HTML. Dann zurück auf Text und jetzt erscheint der Bereich. Ab dann geht die Vorschau nicht mehr und die Fehler kommen.

    Füge ich hingegen den HTML Code ein, klicke dann sofort auf Vorschau erscheint im PopUp alles korrekt aber ohne den Tracking-Bereich. Ich speichere, leere E-Mail template Cache und gehe in eine Bestellung rein, trage Tracking Code ein und Ändere den Status mit Kundenbenachrichtigung -> Es klappt perfekt.

    Wäre das ein Ticket wert? Weil das schon sehr sehr eigenartig ist was da passiert. Ich glaube deshalb hat monatelang das Template funktioniert. Wir haben jetzt zwar nichts dran geändert, aber vor 2-3 Tagen die Ansicht von HTML zu Text mal umgestellt um etwas nachzulesen und dann war alles hinüber.

    Edit: Es ist tatsächlich der Editor. Beim Umschalten von Text zu HTML wird irgendwas verbummelt. Auf die Schnelle sehe ich nicht was, aber die Anzahl an Zeichen im HTML Code verändert sich.
     
  4. Wilken (Gambio)
    Wilken (Gambio) Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.311
    Danke vergeben:
    2.208
    Der ckEditor (sprich WYSIWYG Editor) der da drinsteckt neigt dazu Code kaputt zu machen, wenn der nicht 100% valide ist. Wahrscheinlich ist irgendein HTML Konstrukt in der Vorlage, dass der nicht mag. Er versucht dann eine Autoreparatur, und dann hat man den Salat...

    Können wir kaum fixen, da ist wenig Spielraum ohne ein ganz ganz grosses Fass aufzumachen.