Bestell-Statusmails in HTML verschicken - wie geht´s ?!

Hallo, man kann im Backend ja unter „eMail-Vorlagen“ auch HTML-Versionen für Statusmails konfigurieren und aktivieren. Wenn ich dann aber unter „Bestellungen“ den Status ändere, wird mir im PopUp nur die Plaintext-Variante angeboten und bei Tests werden auch nur diese verschickt. Frage deshalb: Wie kann man die HTML-Versionen denn verwenden?

Hallo, das ist generell nicht als Html seitens des Systems vorgesehen. Zudem müsste man dann beim Verschicken html und Plain Text anpassen bzw. anpassen können. Daher ist auch wohl nur Plain möglich. Genaugenommen gehört das auch eher in eine Warenwirtschaft. Die haben dann auch mehr Möglichkeiten.

Dann sollte Shopware entweder die Funktion „HTML“ bei den Status E-Mail Vorlagen deaktivieren oder diese Funktion bereitstellen. Hat jemand einen einfachen Workaround? P.S.: Ich habe ein Ticket erstellt: Ticket 5197

Hey, gibt es schon was neues zu diesem Thema? Grüßle Wollkenschaf

Genau das habe ich auch grade bemerkt, das wäre schon sehr wichtig. Es reicht ja eigentlich(bei vorhandener Vorlage), dass man hier einen Freitextkommentar einfügt, welcher in der Vorlage als Variable hinterlegt ist a la {$sOrder.comment} - die Variable gibt es ja auch bereits. Edit: Ahja, scheint wohl wirklich vorerst nicht geplant sein bzw. wird erst in der Zukunft umgesetzt. http://jira.shopware.de/Widgets/Jira/?ticket=SW-4801 http://jira.shopware.de/Widgets/Jira/?ticket=SW-5325 Wie hier angesprochen, vermittelt der Haken im Backend, den man auch bei diesen Emails setzen kann aber etwas anderes - Zumal man ja auch eine HTML-Email für die Statusänderungen anlegen kann. Angedacht war ja es also anscheinend mal. Hier zu sagen, dass dies nie geplant war halte ich also nicht für ganz wahr. Für uns z.B. ist dies ein sehr wichtiges Feature, da Bestellungen manuell verarbeitet werden und je nach Statusänderung bestimmte Emails an den Kunden geschickt werden. Diese in Reintext zu verschicken und dort alle Artikel manuell aufzulisten ist sehr umständlich. In Magento z.B. funktioniert dies ohne Probleme.

Ich versteh auch nicht ganz warum HTML in den Status EMails nicht in betracht bezogen wird … schließlich braucht man es schon allein für dinge wie das Firmenlogo oder Links. Also ich find es schon schade das es nicht geplant ist und hoffe das sich jemand ran setzt und uns bei diesem Problem hilft. Denn leider reicht mein wissen für sowas nicht aus. :frowning: Grüßle Wollkenschaf

Wir haben das ganze an unseren Programmierer weitergegeben. Sobald es etwas neues gibt werde ich die Lösung hier posten.

1 Like

Das hört sich gut an :slight_smile: Freu mich schon darauf :thumbup: Grüßle Wollkenschaf

Wir haben bereits eine Lösung von unserem Programmierer bekommen. Das ist kein Plugin, welches die Funktionalität komplett einbaut, aber für unsere Zwecke reicht es. Geändert wurden 2 Zeilen in engine/Shopware/Controllers/Backend/Order.php In der Funktion public function sendMailAction $mail-\>setBodyText($this-\>Request()-\>getParam('content', '')); wird zu $mail-\>setBodyHtml($this-\>Request()-\>getParam('content', '')); In der Funktion private function getMailForOrder($orderId, $statusId) 'content' =\> $mail-\>getPlainBodyText(), wird zu 'content' =\> $mail-\>getPlainBody(), Die Änderungen bewirken folgendes: 1. Änderung: Die Emails werden ab jetzt immer im HTML-Format verschickt. 2. Änderung: Es wird das HTML-Template abgerufen, welches für dieses Mail gespeichert wurde. Variablen in den Mails funktionieren natürlich auch. Das einzige Manko ist aktuell, dass man halt immer HTML-Emails verschickt, wir wollen das aber sowieso.

3 Likes

Klasse! Vielen vielen Dank!:slight_smile: Ein kleiner Fehler ist mir gerad beim einrichten aufgefallen … Der Pfad war bei mir engine/Shopware/Controllers/[color=red]backend[/color]/Order.php Trotzdem nochmals vielen Dank :slight_smile: Grüßle Wollkenschaf

[quote=“WOLLkenSchaf”]Klasse! Vielen vielen Dank!:slight_smile: Ein kleiner Fehler ist mir gerad beim einrichten aufgefallen … Der Pfad war bei mir engine/Shopware/Controllers/[color=red]backend[/color]/Order.php Trotzdem nochmals vielen Dank :slight_smile: Grüßle Wollkenschaf[/quote] Da hast du natürlich recht, habe ich jetzt mal editiert.

Falls jemand nach einer updatesicheren Variante sucht, mit der man auch Status vom Versand in HTML ausschließen kann, haben wir ein Plugin erstellt: http://store.shopware.de/HTML-Status-E- … _1271.html

Funktioniert das eigentlich mittlerweile (4.3.0) ohne Eingriff in die order.php??? Eine Testmail an Shopbetreiber wird jedenfalls einwandfrei versendet und angezeigt. Gruß Frank

Halloooo? Ein kurzes Statement wäre nett… Gruß Frank

[quote=“ffinkelm”]Funktioniert das eigentlich mittlerweile (4.3.0) ohne Eingriff in die order.php??? Eine Testmail an Shopbetreiber wird jedenfalls einwandfrei versendet und angezeigt. Gruß Frank[/quote] Im Code zur neuen 4.3.1 ist immer noch 'content' =\> $mail-\>getPlainBodyText(), bzw. $mail-\>setBodyText($this-\>Request()-\>getParam('content', '')); Will heißen: Immer noch Textversion, kein HTMl, es sei denn das wird mittlerweile woanders gesteuert. Ich ändere das seit der 4.0.6 nach jedem Update im Code, sonst macht das für uns keinen Sinn. Verstehe auch nicht, warum das so gehandhabt wird.

1 Like

Hallo! Ich versuche gerade das gleiche Prinzip bei den Formular-Mails anzuwenden, finde aber die richtige Datei nicht. Weiß da jemand Rat? :frowning:

Offensichtlich ist das mit Version 5 noch nicht geändert, der Code in der Datei ist jedenfalls der gleiche “falsche” wie gehabt. Ist da vielleicht woanders eine Änderung eingeflossen? Denn bei mir wurden trotzdem weiterhin html Mails versendet, obwohl ich die Anpassung dafür in 5.0.4 gar nicht gemacht habe :frowning: Gruß