Hallo, weiß jemand wo man die E-Mail-Templates anpassen kann? Ich meine hier _nicht_ die so genannten E-Mail-Vorlagen, die man im Backend, im Menüpunkt “Einstellungen” vorfindet. Wir müssen einige Anzeigen anpassen, die in den Vorlagen nicht auftauchen, so z.B. die Bezeichnung “Warenkorbrabatt”. Den richtigen (Template-)Ordner konnte ich noch nicht finden. Ich bitte um Tipps.
Diese Bezeichnung sollten auch im Backend geändert werden können.
[quote=„simplybecause“]Diese Bezeichnung sollten auch im Backend geändert werden können.[/quote] okay… und wo?
Grundeinstellungen > Storefront > Rabatte/Zuschläge
[quote=“simplybecause”]Grundeinstellungen > Storefront > Rabatte/Zuschläge[/quote] Hm ja… das hatte ich befürchtet. Genau dort komme ich nicht rein (administration-f55/dringend-rabattmodul-defekt-t16954.html).
Dennoch bleibt die Frage als solche ungeklärt. Wo werden die E-Mail-Templates zusammengestellt. Also wo werden die Daten fürs Template zusammengestellt? Uns wäre es bspw. wichtig die Rabattangabe zu ändern (damit meine ich nicht nur das Wort Rabatt an sich, welches wir momentan aber eh nicht ändern können). Dort sollen nicht die rein rechnerischen Werte zu finden sein. Gibt man einen "Warenkorb"rabatt ein, dann wird er wie eine neue Artikelposition in der Bestellmail geführt. In der E-Mail-Vorlage kann man aber nichts an der Art der Darstellung ändern. Die gesamte Artikelauflistung (also der Warenkorb) wird im Template nur als ganzer Block dargestellt. Nun müssen wir aber innerhalb dieses Blocks etwas anpassen. Nur wo geht das? Was Website-Template betrifft ist das kein Problem. Die E-Mail-Templates sind das Problem. Manchmal ist das System ganz schön kompliziert…
Der komplette Quellcode für diese E-Mail ist doch in der Vorlage im Admin. Und die Darstellung des Artikels in der Vorlage kannst Du ändern wie Du möchtest. Bild links oder rechts oder oben oder unten und daneben den Artikelnamen oder drüber oder drunter. Wie der Warenkorbrabatt dargestellt wird kann ich Dir allerdings gerade nicht sagen. Sowas haben wir nicht. Ein Gutschein z.B. wird als eigener Artikel dargestellt und da gilt dann das gleich wie oben.
Hallo, [quote=“simplybecause”]Der komplette Quellcode für diese E-Mail ist doch in der Vorlage im Admin.[/quote] …hm nein, da verstehst Du etwas falsch, sorry. Ich spreche eben _nicht_ von den E-Mail-Templates, die man in den Einstellungen bearbeiten kann. Denn dort kann man _nicht_ in den - ich nenne es mal - “Artikelblock” eingreifen. Also das, was in der Website (z.B. im Bestellablauf) als Warenkorb zu sehen ist, erscheint - als ganzer Block - im E-Mail-Template damit: Pos. Art.Nr. Menge Preis Summe {foreach item=details key=position from=$sOrderDetails} {$position+1|fill:4} {$details.ordernumber|fill:20} {$details.quantity|fill:6} {$details.price|padding:8} EUR {$details.amount|padding:8} EUR {$details.articlename|wordwrap:49|indent:5} {/foreach}
In diesem Fall als TXT-only-Vorlage. Hier wird eine Schleife durchlaufen, die alle Artikel auflistet. Das Unpraktische hierbei ist, dass der Warenkorbrabatt ebenfalls als “Artikel” aufgeführt wird. Und an dieser Anzeige, sprich, an der Anzeige bzw. Listung des Warenkorbrabatts, kann ich nichts ändern. Also benötige ich Information, wo dieser Block - der Warenkorb im E-Mail-Template - zusammengesetzt wird. Quasi die Vorstufe der E-Mail-Vorlage. You know? [quote]Und die Darstellung des Artikels in der Vorlage kannst Du ändern wie Du möchtest. Bild links oder rechts oder oben oder unten und daneben den Artikelnamen oder drüber oder drunter. Wie der Warenkorbrabatt dargestellt wird kann ich Dir allerdings gerade nicht sagen. Sowas haben wir nicht. Ein Gutschein z.B. wird als eigener Artikel dargestellt und da gilt dann das gleich wie oben.[/quote] Das ist prinzipiell zwar richtig, jedoch betrifft dies dann immer _alle_ Artikel. Oder anders ausgedrückt - den gesamten Warenkorbinhalt. Und weil der Rabatt auch als “Artikel” geführt wird, beträfe eine Anzeigeänderung sowohl die normalen Artikel als auch den Rabatt. Ich möchte - und muss - den Rabatt aber separat ändern können. Nur wie?
Ich hab Dich schon richtig verstanden, deshalb habe ich Dir ja geschrieben, dass Du das - wenn überhaupt - in der E-Mail-Vorlage ändern kannst. Da Du wahrscheinlich keine Bonuspunkte hast, kommt bei Dir der Wink mit dem Zaunpfahl nicht an. So sieht ein Teil des Codes aus der txt-Vorlage bei uns aus. {if $details.isBonusArticle} {$details.points\_per\_unit|padding:8} Punkte {$details.required\_points|padding:8} Punkte {elseif $details.isBonusVoucher} {$details.required\_points|padding:8} Punkte {$details.price|padding:8} EUR {else} {$details.price|padding:8} EUR {$details.amount|padding:8} EUR {/if}
Wenn Du jetzt rausbekommst, wie die Abfarge für den Gutschein lautet, kannst Du es Dir anpassen wie Du möchtest - sofern das System das zulässt.
[quote=“simplybecause”]Ich hab Dich schon richtig verstanden, deshalb habe ich Dir ja geschrieben, dass Du das - wenn überhaupt - in der E-Mail-Vorlage ändern kannst. Da Du wahrscheinlich keine Bonuspunkte hast, kommt bei Dir der Wink mit dem Zaunpfahl nicht an. So sieht ein Teil des Codes aus der txt-Vorlage bei uns aus. {if $details.isBonusArticle} {$details.points\_per\_unit|padding:8} Punkte {$details.required\_points|padding:8} Punkte {elseif $details.isBonusVoucher} {$details.required\_points|padding:8} Punkte {$details.price|padding:8} EUR {else} {$details.price|padding:8} EUR {$details.amount|padding:8} EUR {/if}
Wenn Du jetzt rausbekommst, wie die Abfarge für den Gutschein lautet, kannst Du es Dir anpassen wie Du möchtest - sofern das System das zulässt.[/quote] Hm… jetzt verstehe ich. Ich wusste nicht, dass das auf diese Weise funktioniert. Allerdings bin ich auch kein Coder. Meine spontane Überlegung wäre “rebate” gewesen. Also: {foreach item=details key=position from=$sOrderDetails} Pos. {$position+1|fill:4} Art.-Nr. {$details.ordernumber|fill:20} Menge: {$details.quantity|fill:6} {if $details.isRebate} Bezeichnung: {$details.articlename|wordwrap:49|indent:5} Preis: {$details.price|padding:8} EUR Summe: {$details.amount|padding:8} EUR {else} Bezeichnung: {$details.articlename|wordwrap:49|indent:5} Preis: {$details.price|padding:8} EUR Summe: {$details.amount|padding:8} EUR {/if} {/foreach}
Und nun müsste ich diesen - ersten - Block… Bezeichnung: {$details.articlename|wordwrap:49|indent:5} Preis: {$details.price|padding:8} EUR Summe: {$details.amount|padding:8} EUR
…anpassen. Ziel soll ja sein, eine Änderung der Anzeige zu realisieren, WENN ein Rabatt aktiviert ist. Daher meine “Idee” der if-Abfrage. Ist das soweit richtig? Normalerweise wird in der E-Mail - für den betreffenden Block - jetzt Folgendes angezeigt: [quote] Bezeichnung: -20.28 % Rabatt Preis: -39,74 EUR Summe: -39,74 EUR [/quote] Nun soll allerdings dies hier herauskommen: [quote] Bezeichnung: Rabatt Summe: -39,74 EUR [/quote] Das heißt, ich möchte die Bezeichnung des Rabatts entfernen und ebenso die Zeile des Einzelpreises. Da ich mich mit der Syntax (noch) nicht wirklich auskenne, wüsste ich nicht, wie ich das am besten anstelle. Mein Versuch… {if $details.isRebate} Bezeichnung: {$details.articlename=""} Preis: {$details.price|padding:8} EUR Summe: {$details.amount|padding:8} EUR {else}
…funktioniert so offenbar nicht. Hilfe hierbei wäre sehr willkommen. Nachtrag… Inzwischen habe ich mal direkt in der SmartyDoku nachgeschaut. Da gibt es u.a. “replace”, um Variablen zu modifizieren. Wenn ich den exakten Rabattwert kenne, wäre dies - zumindest theoretisch - eine Möglichkeit. Denke ich. Das hieße dann also: {if $details.isRebate} Bezeichnung: {$details.articlename|replace:"-20.28 %":" "} Preis: {$details.price|padding:8} EUR Summe: {$details.amount|padding:8} EUR {else} Funktioniert allerdings auch nicht. Möglicherweise ist “isRebate” verkehrt. Gibt es eine Liste, wo all diese Bezeichnungen aufgeführt werden? Von meinem replace-Versuch abgesehen - es geht sicher noch etwas flexibler, nicht wahr?
Notlösung gefunden Nach einigem Hin und Her mit der replace-Funktion, habe ich jetzt folgende Notlösung: {foreach item=details key=position from=$sOrderDetails} Pos. {$position+1|fill:4} Art.-Nr. {$details.ordernumber|fill:20} Menge: {$details.quantity|fill:6} {if $details.articlename eq „-20.28 % Rabatt“ } Rabatt Summe: {$details.amount|padding:8} EUR {else} Bezeichnung: {$details.articlename|wordwrap:49|indent:5} Preis: {$details.price|padding:8} EUR Summe: {$details.amount|padding:8} EUR {/if} {/foreach} Damit erreiche ich zunächst einmal mein Ziel. Allerdings - und das ist die Crux - funktioniert das natürlich nur auf exakt diese Zeichenkette (-20.28 % Rabatt). Wie macht man das jetzt dynamisch?