[Bug erledigt] HTML-Vorlagen inkompatibel, müssen anders geschrieben werden

  • Der Parser für die Makros ist meines Erachtens defekt, sonst würden solche Fehler ja sich nicht auswirken können.

    Ich lasse mich manchmal eben leicht verunsichern, Makros mache ich nicht so oft.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Der Parser für die Makros ist meines Erachtens defekt

    Ich weiß nicht, wieso es als Text-Vorlage funktioniert, aber die Vorlage enthält einen Syntax-Fehler im rechten %IF-Bereich, der eigtnlich zu einem Fehler auch in einer Text-Vorlage führen müsste.

    Im linken %IF-Bereich ist z.B. alles OK (ich habe zwischen den Blöcken mit Anführungszeichen extra Leerzeichen eingefügt):

    Zitat

    %IF : "%TIME='hh:mm:ss'" >= "00:00:00" :


    Im rechten hast du aber <= in Anführungszeichen und zusätzlich noch mit nur einem Apostroph gesetzt:

    Zitat

    "%IF:'%TIME=" "hh:mm:ss" " '<= '04:59:59' : 'Gute Nacht' " %-

    So etwas muss eigentlich immer zu einem Fehler führen. Ritlabs hätte das jedenfalls ausführlich prüfen müssen und nicht einfach nur behaupten, dass man < statt <= verwenden müsse.

  • Benzüglich des gefixten https://bt.ritlabs.com/view.php?id=1377
    Trotz des Fixes for %INCLUDE hakt es.

    1. global in Einstellungen den Editor auf HTML umstellen
    2. Schnellvorlage (Format HTML) anrede erstellen mit

    Code
    %IF:"%TIME='hh:mm:ss'">="00:00:00":%IF:"%TIME='hh:mm:ss'"<="04:59:59":"Gute Nacht"%-
    %IF:"%TIME='hh:mm:ss'">="05:00:00":%IF:"%TIME='hh:mm:ss'"<="08:59:59":"Guten Morgen"%-
    %IF:"%TIME='hh:mm:ss'">="09:00:00":%IF:"%TIME='hh:mm:ss'"<="18:59:59":"Guten Tag"%-
    %IF:"%TIME='hh:mm:ss'">="19:00:00":%IF:"%TIME='hh:mm:ss'"<="23:59:59":"Guten Abend"%-

    3. Vorlage "Neue Nachrichten" (Format Text) erstellen mit

    Code
    = = = =
    %QINCLUDE="anrede" %TOFNAME,
    = = = =

    Dann erzeugt mir das bei einer neuen Nachricht

    Code
    = = = =
    
    
    
    
    Guten Tag
      ,
    = = = =

    Nachvollziehbar?

    Wenn ich alle Vorlagen auf HTML umestelle, geht es.
    Aber genau das sollte doch vermeiden werden, dass man nachträglich Templates per Hand umstellen muss für %INCLUDE oder %QINCLUDE :(

    Bitte Bug bestätigen: https://bt.ritlabs.com/view.php?id=1402


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

    4 Mal editiert, zuletzt von GwenDragon (16. Januar 2018 um 12:04)

  • Aber genau das sollte doch vermeiden werden, dass man nachträglich Templates per Hand umstellen muss für %INCLUDE oder %QINCLUDE

    Ich gehe zunächst davon aus, dass die im BT angesprochenen Änderungen nur das Makro %INCLUDE betreffen, da nur davon die Rede war. Darüber hinaus ging's ja nur darum, dass man nicht nachträglich HTML-Tags manuell in eine bereits erstellte Textdatei einfügen muss, wenn man diese als Vorlage auch in einer HTML-Nachricht verwenden möchte. Das macht TB! jetzt automatisch und es funktioniert mit %INCLUDE, soweit ich das testen konnte. #0001377 ist daher zurecht erledigt.

    Dass man aber immer noch zuerst manuell in den Einstellungen das Format von TEXT auf HTML umstellen muss, ist eigentlich eine Selbstverständlichkeit. Schließlich verwendet man Text-Vorlagen für den Text-Editor und HTML-Vorlagen für den HTML-Editor. Daher meine ich, dass man in deinem Beispiel unter Schritt 3 in den Kontoeigenschaften als Format ebenfalls "HTML" einstellen sollte. Die Formatumstellung ist jedenfalls viel einfacher als die Anpassung der ganzen externen Dateien. Allerdings spielt das bei %INCLUDE keine Rolle (s.u.). Also müsste es auch hier egal sein, ob man als Format TEXT oder HTML einstellt.

    Dabei habe ich aber ein anderes Problem festgestellt, und zwar:

    Wenn ich alle Vorlagen auf HTML umestelle, geht es.

    kann ich das nicht bestätigen. Wenn ich das Format in den Kontoeigenschaften auf "HTML" umschalte, bekomme ich:

    Code
    Guten Tag html> ,


    Soweit ich feststellen konnte, liegt's diesmal an >= und <=. Wenn man stattdessen nur > und < verwendet, dann funktioniert's, aber dann wird auch der Sinn der Vorlage etwas verändert. Dazu habe ich z.B. in #0001375 bereits geschrieben.

    Mit %INCLUDE hingegen funktioniert's unabhängig davon, ob man in den Kontoeigenschaften Text oder HTML eingestellt hat. Wenn man also in deinem Beispiel unter Schritt 2 keine Schnellvorlage, sondern eine externe Textdatei erstellt (z.B. NEU.TXT), und dann in den Kontoeigenschaften unter "Neue Nachricht" einfügt:

    Code
    %INCLUDE="C:\NEU.TXT" %TOFNAME,


    wird das Ergebnis immer in einer Zeile angezeigt. Daraus folgt, dass das Makro %QINCLUDE unverändert geblieben ist und ebenfalls angepasst werden sollte.