Bewertungsanfrage-E-Mail
Die Bewertungsanfrage-E-Mail ist die Mail, mit der du deine Kunden nach dem Kauf zur Bewertung einlädst. Sie enthält den persönlichen Magic-Link, über den der Kunde alle Produkte der Bestellung ohne Login bewerten kann. Wann sie erzeugt und verschickt wird, steht unter Produktbewertungen.
Vorlage bearbeiten
Betreff und Inhalt bearbeitest du im Shopware-Admin unter Einstellungen → E-Mail-Templates. Die mitgelieferte Vorlage heißt „neonlines Produktbewertung Anfrage".
Welche Vorlage verschickt wird
Hast du mehrere Vorlagen dieses Typs — etwa eine Kopie mit eigenem Text —, entscheidet diese Reihenfolge:
- die Vorlage, die du in der Flow-Aktion „Bewertungsanfrage senden" ausgewählt hast
- die Vorlage aus der Plugin-Konfiguration unter „Standard E-Mail-Vorlage" (Card „Grundeinstellungen")
- die mit dem Plugin ausgelieferte Vorlage
Die Einstellung „Standard E-Mail-Vorlage" lässt sich pro Verkaufskanal setzen: Wähle oben in der Plugin-Konfiguration den gewünschten Verkaufskanal aus und hinterlege dort eine eigene Vorlage.
Sprache der E-Mail
Die E-Mail wird in der Sprache der Bestellung verschickt — also in der Sprache, in der der Kunde eingekauft hat. Das gilt für alle Versandwege: automatischer Versand, Flow Builder und Test-Mail aus dem Admin.
Ist eine Sprache von einer anderen abgeleitet — zum Beispiel „Deutsch (Schweiz)" von „Deutsch" —, musst du die Vorlage nicht doppelt pflegen: Fehlt ein Text in der abgeleiteten Sprache, wird automatisch der Text der Sprache verwendet, von der sie abstammt, und zuletzt der der Systemsprache.
Variablen
| Variable | Typ | Bedeutung |
|---|---|---|
order | OrderEntity | Die Bestellung — inklusive lineItems (siehe unten) |
orderCustomer | OrderCustomerEntity | Kunde (firstName, lastName, email, …) |
salesChannel | SalesChannelEntity | Verkaufskanal (name, domains, …) |
reviewUrl | string | Der vollständige Bewertungslink inklusive Token |
magicLinkToken | string | Nur das Token — normalerweise nicht nötig, es steckt bereits in reviewUrl |
neonMailConfig | object | Styling-Objekt (Farben, Logo — siehe unten) |
benefitCode steht hier nicht zur Verfügung. Der Gutscheincode entsteht erst nach der Bewertung und wird über ein eigenes Template verschickt — siehe Benefits für vollständige Bewertung.
Der Bewertungslink
{{ reviewUrl }} ist bereits der komplette Link mit Token:
<a href="{{ reviewUrl }}">Jetzt bewerten</a>
In der mitgelieferten Vorlage steht {{ reviewUrl }}?token={{ magicLinkToken }}. Das Token wird dabei doppelt angehängt — der Link funktioniert trotzdem, weil nur der Teil im Pfad ausgewertet wird. In eigenen Vorlagen reicht {{ reviewUrl }}.
Wie lange der Link gültig ist, steuerst du über „Gültigkeitsdauer des Magic Links in Tagen" in den Grundeinstellungen. Ändere den Wert dort, wenn du im Text eine Frist nennst.
Auf welche Domain der Link zeigt
Die Domain kommt immer aus der Bestellung: Verwendet wird die Domain des Verkaufskanals, über den bestellt wurde, und zwar die, die zur Sprache der Bestellung passt. Bei einem mehrsprachigen Verkaufskanal mit einer Domain je Sprache landet der Kunde damit im gleichen Shop und in der gleichen Sprache wie beim Kauf. Bedienen mehrere Domains dieselbe Sprache, entscheidet zusätzlich die Währung der Bestellung.
Gibt es im Verkaufskanal keine Domain für die Sprache der Bestellung, wird die E-Mail nicht verschickt und der Fehler protokolliert. Das ist Absicht: Ein Link auf irgendeine andere Domain sieht für den Kunden korrekt aus, führt ihn aber in einen fremden Shop — dort ist der Magic-Link ungültig. Ergänze in dem Fall unter Verkaufskanal → Domains eine Domain für diese Sprache.
Gekaufte Artikel mit Produktbild ausgeben
Über order.lineItems gibst du die Positionen der Bestellung aus — inklusive Produktbild. Für jede Position stehen zwei Bildquellen zur Verfügung:
lineItem.cover— das Bild, das zum Zeitpunkt der Bestellung zum Artikel gehörte. Shopware speichert es an der Bestellposition, es bleibt also auch dann erhalten, wenn du das Produktbild später austauschst.lineItem.product.cover.media— das aktuelle Produktbild. Sinnvoll als Rückfallebene für Bestellungen, bei denen der Artikel damals noch kein Bild hatte.
<table>
{% for lineItem in order.lineItems %}
{% set coverMedia = null %}
{% if lineItem.cover %}
{% set coverMedia = lineItem.cover %}
{% elseif lineItem.product and lineItem.product.cover and lineItem.product.cover.media %}
{% set coverMedia = lineItem.product.cover.media %}
{% endif %}
<tr>
<td width="80">
{% if coverMedia %}
<img src="{{ coverMedia.url }}" alt="{{ lineItem.label }}" width="80" style="max-width:80px;height:auto;">
{% endif %}
</td>
<td>
{{ lineItem.label }}<br/>
{{ lineItem.payload.productNumber }}
</td>
</tr>
{% endfor %}
</table>
coverMedia.url liefert das Originalbild, das für eine E-Mail schnell mehrere Megabyte groß wird. Die Thumbnails stehen ebenfalls bereit — nimm statt der Original-URL lieber eine passende Vorschaugröße:
{% set thumbnail = coverMedia.thumbnails|filter(t => t.width == 400)|first %}
<img src="{{ thumbnail ? thumbnail.url : coverMedia.url }}" alt="{{ lineItem.label }}">
Welche Größen es gibt, hängt von den Thumbnail-Einstellungen deines Media-Ordners ab.
Positionen ohne Produkt — etwa Rabatte oder Versandkosten — haben kein Bild. Die Abfrage {% if coverMedia %} fängt das ab.
Weitere Daten der Bestellung
Neben den Positionen stehen an order unter anderem zur Verfügung:
| Ausdruck | Bedeutung |
|---|---|
order.orderNumber | Bestellnummer |
order.orderDateTime | Bestelldatum |
order.amountTotal | Gesamtbetrag |
lineItem.label | Bezeichnung der Position |
lineItem.quantity | Menge |
lineItem.payload.productNumber | Artikelnummer |
lineItem.referencedId | Produkt-ID |
lineItem.product | Das Produkt selbst (name, description, …) |
Verwende nur Daten, die oben aufgeführt sind. Greifst du auf weitere Verknüpfungen zu — etwa Lieferungen oder Zahlungsart —, bleiben sie leer, weil sie für diese E-Mail nicht mitgeladen werden. Sag uns Bescheid, wenn dir etwas fehlt.
Styling der E-Mails
Das Objekt neonMailConfig wird aus den Plugin-Einstellungen (Card „E-Mail-Template Styling") gespeist und steht in beiden Vorlagen des Plugins zur Verfügung — in der Bewertungsanfrage und in der Benefit-E-Mail.
| Eigenschaft | Bedeutung |
|---|---|
logoUrl | URL des Shop-Logos |
backgroundColor | Hintergrundfarbe der E-Mail |
contentBackgroundColor | Hintergrundfarbe des Inhaltsbereichs |
primaryColor | Primärfarbe (z.B. für Buttons) |
textColor | Textfarbe |
buttonTextColor | Textfarbe auf Buttons |
secondaryTextColor | Farbe für Sekundärtexte |
starColor | Farbe der Sternebewertung |
Setze immer einen Standardwert, damit die Mail auch dann sauber aussieht, wenn eine Farbe nicht gepflegt ist:
<div style="background:{{ neonMailConfig.backgroundColor|default('#ffffff') }};">
Vorlage testen
Mit „Test Bewertungsanfrage-E-Mail senden" (Card „Test Einstellungen") verschickst du die Mail mit den Daten einer echten Bestellung an eine beliebige Adresse. So prüfst du Aussehen, Produktbilder und Link, ohne auf den nächsten Versandlauf zu warten.
Die Test-Mail legt für die gewählte Bestellung eine gültige Bewertungsanfrage an — der Link im Test funktioniert also wirklich.