Bestätigungsmail anpassen

Zur Zeit sieht unsere Bestätigungsmail so aus.

Vielen Dank fÃŒr Ihre Bestellung!

Nachfolgend haben wir zur Kontrolle Ihre Bestellung noch einmal aufgelistet.
Bei Fragen sind wir jederzeit fÃŒr Sie da: Schreiben Sie einfach an [email protected]

Bestellnr. —

Bestellte Artikel

Summe Artikel (netto): 29,45 �
zzgl. MwSt. 19% Betrag: 3,31 �
zzgl. MwSt. 7% Betrag: 0,84 �

Summe Artikel (brutto): 33,60 �

Versandkosten : 4,90 �

Gesamtsumme: 38,50 �

Ihre Mitteilung an uns: blablabla

Die Bezahlung erfolgt mit: Vorauskasse/ Scheck

E-Mail-Adresse: [email protected]

Rechnungsanschrift:

Stra�e
Ort
Deutschland
Telefon:

Der Versand erfolgt mit Standard
Bankname: —
BLZ: —
Kto.Nr.: —
BIC: —
IBAN: —

Angaben zur Rückgabe und Widerrufsbelehrung

Ich möchte das Ganze jetzt etwas übersichtlicher machen. Es soll dann so aussehen:

Vielen Dank fÃŒr Ihre Bestellung!

Nachfolgend haben wir zur Kontrolle Ihre Bestellung noch einmal aufgelistet. Am Ende finden Sie auch Informationen für die Überweisung.
Bei Fragen sind wir jederzeit fÃŒr Sie da: Schreiben Sie einfach an [email protected]

Bestellnr.

Bestellte Artikel

Summe Artikel (netto): 29,45 �
zzgl. MwSt. 19% Betrag: 3,31 �
zzgl. MwSt. 7% Betrag: 0,84 �

Summe Artikel (brutto): 33,60 �

Versandkosten : 4,90 �

Gesamtsumme: 38,50 �

Ihre Mitteilung an uns: blablabla

Die Bezahlung erfolgt mit: Vorauskasse/ Scheck

E-Mail-Adresse: [email protected]

Rechnungsanschrift:

Stra�e
Ort
Deutschland
Telefon:

Der Versand erfolgt mit Standard

Information für die Überweisung
Kontoinhaber: —
Bankname: —
BLZ: —
Kto.Nr.: —
BIC: —
IBAN: —

Bei der Überweisung bitte die Bestellnummer als Verwendungszweck angeben!

Angaben zur Rückgabe und Widerrufsbelehrung

Die roten Sachen sind die geänderten Sachen. Wie und wo mach ich das?
Danke schon mal für eure Hilfe!

Hallo,

im Adminbereich unter Kundeninformation -> CMS-Seiten -> Ihre Bestellung bzw. Ihre Bestellung Plain

Gruß

Hmmm…
Da steht nur Folgendes:
[I][B]“Vielen Dank für Ihre Bestellung!
Nachfolgend haben wir zur Kontrolle Ihre Bestellung noch einmal aufgelistet.
Bei Fragen sind wir jederzeit für Sie da: Schreiben Sie einfach an [{ $shop->oxshops__oxorderemail->value }]!”[/B][/I]

Da kann ich also nicht wirklich was ändern.

Du musst dazu die beiden Templates email_order_cust_html.tpl und email_order_cust_plain.tpl anpassen. Darin ist der Inhalt der Bestellbestätigung für den Kunden definiert.

Okay, danke. Habe mir die Datei mal angeschaut, aber ich steige da null durch. Könnte mir da jemand helfen und die oben in rot dargestellten Sachen evtl. in der Datei so ändern?

Hallo flaxx,

wir schauen uns z.B. die email_order_cust_plain.tpl an. dort steht in den ersten Zeilen:

[{if $payment->oxuserpayments__oxpaymentsid->value == "oxempty"}]
[{oxcontent ident="oxuserordernpplainemail"}]
[{else}]
[{oxcontent ident="oxuserorderplainemail"}]
[{/if}]

oxcontent ist ein guter Hinweis darauf, dass der Inhalt in den CMS-Seiten zu finden ist. Wir suchen also im Admin-Bereich bei den CMS-Seiten nach “oxuserorderplainemail” und finden den von Dir oben beschriebenen Teil:

Vielen Dank für Ihre Bestellung!

Nachfolgend haben wir zur Kontrolle Ihre Bestellung noch einmal aufgelistet.
Bei Fragen sind wir jederzeit für Sie da: Schreiben Sie einfach an [{ $shop->oxshops__oxorderemail->value }] !

Jetzt brauchen wir nur noch den von Dir dargestellten Text einzufügen:

Nachfolgend haben wir zur Kontrolle Ihre Bestellung noch einmal aufgelistet. Am Ende finden Sie auch Informationen für die Überweisung.
Bei Fragen sind wir jederzeit für Sie da: Schreiben Sie einfach an [{ $shop->oxshops__oxorderemail->value }] !

Da kann ich also nicht wirklich was ändern.

Doch, kannst Du. Jetzt einfach auf “Speichern” klicken.

Gruß

So, nach bereits einer schlaflosen Nacht (nicht diese, sondern die letzte) und einem gerade auf den allerletzten Drücker abgelieferten Text, der morgen früh bereits in Druck geht, bin ich gerade erstaunlicherweise überhaupt nicht mehr müde und nutze meinen etwas überdrehten Zustand mal für eine laaaaange Antwort. :smiley:

Erst mal sorry Marco, ist eher Quatsch, was du geschrieben hast. Der Kopf der Bestätigungsmail ist sicherlich in der CMS-Seite … aber auch nur dieser. Der Rest findet sich dann in den von Roland bereits genannten Dateien.

Die erste Änderung („Am Ende finden Sie auch Informationen für die Überweisung.“) würde ich auch nicht an dieser Stelle machen, denn der Text stünde dann so in jeder Bestellbestätigung – egal welche Zahlungsart gewählt wurde. (und selbst wenn Flaxx derzeit nur Vorkasse anbietet – es kann sich ja doch irgendwann ändern)

Deshalb sollte der Text in eine if-Abfrage, die sicherstellt, dass dieser nur dann angezeigt wird, wenn die Zahlungsart Vorkasse ist.

Das müsste zwar auch im cms funktionieren – ich hab da (mit meinem 3er-Shop) aber eher gemischte Erfahrungen, ob der Editor dann nicht doch beim Speichern was verbockt und würde den Satz deshalb gleich ins Template (dann eben ganz oben, damit er direkt nach dem „Schreiben Sie einfach an…“ auftaucht) setzen.

Also alle weiteren Änderungen direkt im Template und am Beispiel des letzten Punktes, der Kontoinformationen, erläuter ich das mal.

Man mus sich bei den Templates halt etwas durch die smarty-Tags friemeln, die aber meist doch ziemlich selbsterklärend sind.

So findest du am Ende in der „email_order_cust_html“ (auch hier sagt der Name ja schon, dass es die Bestellmail für den Kunden in der html-version ist) diesen Abschnitt:

[{if $payment->oxuserpayments__oxpaymentsid->value == "oxidpayadvance"}]
    [{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_BANK" }] [{$shop->oxshops__oxbankname->value}]<br>
    [{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_ROUTINGNOMBER" }] [{$shop->oxshops__oxbankcode->value}]<br>
    [{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_ACCOUNTNOMBER" }] [{$shop->oxshops__oxbanknumber->value}]<br>
    [{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_BIC" }] [{$shop->oxshops__oxbiccode->value}]<br>
    [{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_IBAN" }] [{$shop->oxshops__oxibannumber->value}]
  [{/if}]

Das if (bis zum entsprechen schließenden if am Ende) sagt dir: Wenn Zahlungsmethode gleich payadvance, also Vorkasse, dann werden die folgenden Elemente in die Mail geschrieben (und in einem gleichlautenden if

[{if $payment->oxuserpayments__oxpaymentsid->value == "oxidpayadvance"}]
...
 [{/if}]

kannst du auch gleich deinen Satz vom Anfang einschließen, der ja auch nur auftauchen soll, wenn die Zahlungsart Vorkasse ist)

[{ oxmultilang ident=… bedeutet immer, dass hier eine Sprachvariable aus der lang.php genutzt wird.

Wenn du nun sicher weißt, dass du niemals eine andere Sprache außer deutsch benötigst, kannst du deinen neuen Text auch direkt ins Template schreiben:

[{if $payment->oxuserpayments__oxpaymentsid->value == "oxidpayadvance"}]
<b>Information für die Überweisung</b><br>
Kontoinhaber: blablubb
    [{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_BANK" }] [{$shop->oxshops__oxbankname->value}]<br>
...

Die saubere Lösung, bei der auch eine Mehrsprachigkeit erhalten bleibt, ist natürlich, neue Variablen für die Texte zu definieren. Und auch den Kontoinhaber kann man direkt aus der Datenbank holen:

{$shop->oxshops__oxcompany->value}]
<b>[{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_BANK_INFO" }] </b><br>
[{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_BANK_OWNER" }] [{$shop->oxshops__oxcompany->value}]
    [{ oxmultilang ident="EMAIL_ORDER_CUST_HTML_BANK" }] [{$shop->oxshops__oxbankname->value}]<br>
...

Der Feldname „oxcompany“ stimmt natürlich nur, wenn das Konto auf die Firma lautet. Wenn das Konto auf deinen Namen läuft (und dieser im Admin in den Stammdaten eingetragen ist) müsste da stattdessen

[{$shop->oxshops__oxfname->value}] [{$shop->oxshops__oxlname->value}]

rein.

In der cust_lang.php trägst du dann noch entsprechend der dort bereits vorhandenen Einträge die neuen Zeilen deiner zusätzlichen Variablen EMAIL_ORDER_CUST_HTML_BANK_INFO und EMAIL_ORDER_CUST_HTML_BANK_OWNER ein und schon sollte die Mail (nachdem du einmal das temp-Verzeichnis deines Shops auf dem Server gelöscht hast) die von dir gewünschten Änderungen
[I]Information für die Überweisung
Kontoinhaber: xxx[/I]
beinhalten.

Entsprechend kannst du auch die andern Änderungen (war ja nur Fettdruck) in der Template-Datei einfügen (und wirst dann wahrscheinlich im Template sehen, dass da durchaus mehr als in deinem Beispiel, wie z. B. die Lieferadresse auftauchen, kann).

Und wenn du mit der email_order_cust_html fertig bist, gibt es auch noch die
email_order_cust_plain_html.

Die ist für die Textversion der Mail zuständig, die die meisten Windows-Outlook-User eh nicht zu Gesicht bekommen – aber es mag ja noch mehr Menschen wie mich geben, die ihr E-Mail-Programm so eingestellt haben, dass normalerweise keine html-Mails angezeigt werden.

Also solltest du deine Änderungen – zumindest die zusätzlichen Texte, denn Fettdruck gibt es bei Textmails eh nicht – auch hier machen (nur ohne die html-Befehle wie <b></b> oder <br> )

Hallo hajo,

erst mal vielen Dank für die ausführliche Beschreibung, die Du auch gern (von mir aus in Deutsch) in die Tutorials packen kannst:
http://www.oxidforge.org/wiki/Tutorials

Erst mal sorry Marco, ist eher Quatsch, was du geschrieben hast.

So hart hätte ich das jetzt nicht ausgedrückt. Ich wollte nach dieser Antwort http://www.oxid-esales.com/forum/showthread.php?p=26655#post26437 wenigstens erstmal einen Anfang machen :slight_smile:

Gruß

[QUOTE=Marco Steinhaeuser;26661]So hart hätte ich das jetzt nicht ausgedrückt.[/QUOTE]

(hier im Forum fehlt ein sich schämender Smiley) sorry … sollte eigentlich gar nicht so hart klingen …

[QUOTE=hajo;27718](hier im Forum fehlt ein sich schämender Smiley) sorry … sollte eigentlich gar nicht so hart klingen …[/QUOTE]
Passt schon :wink: <-- der Zwinker-Smiley funktioniert

Hallo Forum

Ich hab da noch eine kurze Frage:

In welchem Script findet der Datenbank eintrag der Werte aus dem Formular statt, ich hab meines erweitert und es wird nichts eingetragen.

Lieben Dank
Thomas

Hallo @Thomasp :slight_smile:

der Thread schon so alt, da hättest besser neuen Thread eröffnet.

und eine präzisere Fragestellung wäre wichtig!

Welches Script?
Welche Wert aus der Datenbank?
Welches Formular?

Viele Grüße,
Tim

Grüß Dich Tim,

erstmal danke für Deine Antwort:

Ich habe in der Tabelle oxorder eine neue Spalte angelegt: deliverytime.

In payment.tpl das Formularfeld angefügt:

<textarea [{$otime->oxorder__deliverytime->value}]"

In order_owner.tpl einen neuen Eintrag, damit ich in der Mail sehe, welche Lieferzeit gewünscht ist:

[{$order->oxorder__deliverytime->value}]

Formular arbeitet, aber beim Absenden wird werder was in die Datenbank geschrieben, noch kommt was in der Mail, logisch wenn ich nirgendwo den Insertbefehl für die MySQL Datenbank finde. Wo das genau passiert, das interessiert mich.

Lieben Dank
Thomas

Grüß Dich Thomas :slight_smile:

anhand Deiner Fragestellung weiß ich gar nicht wo ich ansetzen soll. Probiere es mal.

Inwieweit bist in der Logik von PHP Formularen drin? mit GET- und POST Methode?

Wie gut kennst Dich mit dem OXID eShop aus?

Hintergrund meiner Fragen zum Verständnis der Checkout Prozess vom OXID eShop besteht aus mehreren Formular-Schritten. Da Du mir das Template payment.tpl nennst bist anscheinend beim Schritt 3 Verand & Zahlarten Auswahl.

Zusätzlich hast Du die oxorder Tabelle erweitert um dort eine gewünschte Lieferzeit zu hinterlegen.

Das Textarea Feld verrät mir, dass Du ein zusätzliches Eingabefeld für die Eingabe der gewünschte Lieferzeit bereitstellen möchtest.

Jetzt gibt es mehrere Dinge zu beachten

  1. Du musst sicherstellen, dass Dein Textfeld ein name Attribute besitzt um den Eingabewert überhaupt auslesen zu können HTML textarea name Attribute

  2. Du musst den Ablauf beim OXID eShop verstehen, damit Dein Wert in der oxorder Tabelle gespeichert wird.

Ein guter Weg sich der Aufgabenlösung heranzutasten ist immer sich bestehenden Code aus dem OXID eShop Framework anzugucken was Deiner Anpassung schon sehr nahe kommt. Dort kannst Dir das jeweilige Verhalten versuchen für Deinen Anwendungsfall abzugucken.

In Deinem Fall wäre ein gutes Beispiel die Einstellungsmöglichkeit bei einem Artikel ob dieser Artikel individualisierbar sein soll:

Diese Einstellungsoption ermöglicht es dem Kunden einen Textwert zu einem Artikel zu hinterlegen. Dieser Textwert muss im Checkout Prozess mit “durchgeschleust” werden um bei der jeweiligen Bestellung abgespeichert zu werden.

Genau dieses “durchschleusen” brauchst Du auch in Deinem Anwendungsfall, dass der Eingabewert was die gewünschte Lieferzeit ist bei einer Bestellung später mitgespeichert wird.

Meine Hilfe spiegelt nur grob wider was es gilt bei der Umsetzung zu beachten. Für die Umsetzung brauchst Du PHP Basiswissen für Formulare und musst mit der Logik des OXID eShop vertraut sein.

Hoffe konnte Dir ein wenig helfen.

Viele Grüße,
Tim