Neu Produktbilder in Rechnungsmail anzeigen

lohkaes

Gut bekanntes Mitglied
27. April 2007
238
15
Hallo Zusammen,

hat mir jemand vielleicht eine kleine Hilfe, weshalb folgender Code keine Bilder in der Rechnungsmail anzeigt:

{% for LineItem in Report.InvoicePosition %}}
<tr> <td>
{% if LineItem.Product.StandardImage.Sizes.Small.Base64Data != empty %}
<img src="data:image/jpeg;base64,{{ LineItem.Product.StandardImage.Sizes.Small.Base64Data }}"
alt="{{ LineItem.Name }}"
width="60"
style="max-width: 60px; height: auto; display: block;" />
{% else %}
<span style="font-size: 10px; color: #999;">Kein Bild</span>
{% endif %}
{% endfor %}

Der Inhalt aus: alt="{{ LineItem.Name }}" wird ausgegeben.
Das Bild jedoch nicht.

Danke für eure Hilfe
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
701
170
Du schließt die Tabellenzeile und zelle nicht.
</td></tr>

Das dürfte aber nichts mit dem fehlenden Bild zu tun haben.

Hast du schon versucht, das Bild über eine öffentliche HTTPS-URL statt als Base64 einzubinden?
Kann mir vorstellen das Base64 von Outlook geblockt wird.
 

lohkaes

Gut bekanntes Mitglied
27. April 2007
238
15
Du schließt die Tabellenzeile und zelle nicht.
</td></tr>

Das dürfte aber nichts mit dem fehlenden Bild zu tun haben.

Hast du schon versucht, das Bild über eine öffentliche HTTPS-URL statt als Base64 einzubinden?
Kann mir vorstellen das Base64 von Outlook geblockt wird.

Hallo Morimus,

danke für deine Rückmeldung.

Ja, das </td></tr> ist klar.

Das komische ist, das es mit den "alten" Vorlagen bisher so geklappt an.
Hier:

{% if LineItem.Product.StandardImage.Sizes.Small.Base64Data != empty %}

wird ja auch geprüft ob ein Inhalt vorhanden ist, das scheint ja so zu sein, den sonst würde ja
der Rest nicht ausgegeben werden.

alt="{{ LineItem.Name }}"

wird mir ja im Vorschaumodus und den Testmails angezeigt.

Das Problem muss eigentlich hier liegen:

<img src="data:image/jpeg;base64,{{ LineItem.Product.StandardImage.Sizes.Small.Base64Data }}"

Leider finde ich nirgends eine Beschreibung zu den neuen Vorlagen, was Variablen etc. angeht

Trotzdem Danke.

Gruß



 

Morimus

Sehr aktives Mitglied
16. Mai 2019
701
170
Atimmt, die Bedingung wird erfüllt.
Das bedeutet allerdings nur, dass die Variable nicht leer ist, nicht zwangsläufig, dass sie gültige Bilddaten enthält.

Wenn das Bild schon in der Vorschau fehlt, würde ich eher bei JTL suchen.

Schau dir mal den generierten HTML-Quelltext an.
Steht hinter base64, tatsächlich eine längere Zeichenfolge?

Bei einem JPEG beginnt die Base64-Zeichenfolge normalerweise mit 9j/.
Falls dort etwas anderes steht, könnte die Bildvariable in den neuen Vorlagen das Problem sein.

Welche Wawi-Version verwendest du eigentlich?
 

lohkaes

Gut bekanntes Mitglied
27. April 2007
238
15
Atimmt, die Bedingung wird erfüllt.
Das bedeutet allerdings nur, dass die Variable nicht leer ist, nicht zwangsläufig, dass sie gültige Bilddaten enthält.

Wenn das Bild schon in der Vorschau fehlt, würde ich eher bei JTL suchen.

Schau dir mal den generierten HTML-Quelltext an.
Steht hinter base64, tatsächlich eine längere Zeichenfolge?

Bei einem JPEG beginnt die Base64-Zeichenfolge normalerweise mit 9j/.
Falls dort etwas anderes steht, könnte die Bildvariable in den neuen Vorlagen das Problem sein.

Welche Wawi-Version verwendest du eigentlich?

Hallo,

nein, ist keine Zeichenfolge vorhanden. Hab hier im Quelltext bereits geschaut.
Mich wundert das nur, das es mit den alten Vorlagen ohne Probleme geklappt hat.

Gruß
 

lohkaes

Gut bekanntes Mitglied
27. April 2007
238
15

Hallo,

aus Gemini. Bei JTL hab ich leider nirgendwo was brauchbares gefunden.
Aber wie ich schon in meiner Frage geschrieben habe, mit den alten Vorlagen hat das wie folgt geklappt:

<img style="width:50px;height:50px;align:left" src="data:image/jpeg;base64,{{ position.Bild | Resize: 50,50,'jpg' | Base64Encode }}" alt="Positionsbild"/>

Vielleicht hast ja du noch eine Idee?

Danke. Gruß
 

lohkaes

Gut bekanntes Mitglied
27. April 2007
238
15
Kurzer Nachtrag:
Gibt es eine Möglichkeit, sich alle Elemente mit Namen und Inhalt des Arrays anzeigen zu lassen, bzw. irgend eine Art von Debug-Möglichkeiten?
Ich gehe davon aus, das der Namen für das Element, welches den BLOP aus der Datenbank enthält, nicht richtig ist.
 
Zuletzt bearbeitet: