Jump to content

eMail Neue Bestellung/Bestellhinweis/Bestellbestätigung an Admin ohne Daten


Recommended Posts

Hallo,

die Kunden-eMails nach Registrierung und Bestellung kommen korrekt mit Daten beim Kunden an.
Leider war die Funktion eMail-Versand bei Bestellungseingang an Admin in Prestashop 1.7.6.5 standardmäßig deaktiviert.

Nachdem ich die Funktion im Backoffice gefunden u. aktiviert hatte, kamen tatsächlich auch Bestellinfo-eMails beim Admin an, jedoch ohne Daten! Es sind nur die Platzhalter-Variablen in geschweiften Klammern zu sehen:

emailbenachrichtigung.jpg
Im Ordner "mail" des Hauptverzeichnisses befindet sich standardmäßig nur die Version de, also mail/de/.
Erst wenn Deutsch im Backoffice als Sprache aktiviert wurde (vermutlich) bei der Installation, wird ein zweiter Ordner de/ angelegt.
Jedenfalls existiert im entpackten Shop vor dem Server-Hochladen nur die Sprachversion en/.

Testhalber habe ich im Ordner mail den jetzigen de-Ordner deaktiviert und einen neuen Ordner /de angelegt und den Inhalt des /en-Ordners kopiert und eingefügt. Das Ergebnis war erneut eine Admin-Bestell-Info per eMail ohne Daten...

Auch habe ich die fehlenden 3 Dateien aus dem Ordner "mail/en" in den Ordner "mail/de" kopiert:

download-product.tpl       order_conf_cart_rules.tpl      order_conf_product_list.tpl

Meinen Prestashop-Cash konnte ich im Backend nicht leeren, da ich ihn gar nicht aktiviert habe. Aber auch das Kopieren der drei fehlenden Dateien brachte keine Problemlösung.

Verstehe gar nicht, daß so eine einfache aber wichtige Funktion auch nach diversen Shop-Versionen noch immer so problematisch ist.

Die Größe der Ordner mail/de u. mail/en ist übrigens nicht identisch.
Ich nutze das Standard-Theme "Classic"

Im Theme-Ordner "Classic/mail/de" haben die o.g. 3 tpl-Dateien ebenfalls gefehlt aber nach dem hineinkopieren ergab auch das keine Lösung des beschriebenen Problems.

Leider konnte ich im Forum keine ähnliche Problematik finden. 
Für jegliche Hilfe schon jetzt vielen Dank!

Gruß aus Köln
Arthur

Link to comment
Share on other sites

Ich bin mit dem 1.7 nicht so firm (heisst, ich kenne die Datenstruktur auf dem FTP nicht), aber im 1.6 war es immer ein Bug von Haus aus, dass in dem Mailverzeichnis keine PHPs drin waren, die musste man dann von Hand aus dem normalen Mailverzeichnis rüberkopieren.

Was du in deinem Screenshot siehst, ist das Template aber woher soll der Shop jetzt wissen, welche Daten er da reinknallen soll, wenn keine PHP da ist, die ihm das erzählt....

Ich würde mich nicht wundern, wenn die in den 1.7 zwar die Mailalerts eingebaut hätten, aber den Bug, der da von Anfang an bestand, schmerzfrei übernommen hätten... :D

 

Die Suchfunktion nach Mailalerts sollte dazu vielleicht ein paar Infos bereitstellen.

Edited by Claudiocool (see edit history)
Link to comment
Share on other sites

@Claudiocool
Vielen Dank für die Info.
Versuche gerade zu verstehen von wo nach wo ich das fehlende PHP kopieren könnte :)

Was meinst Du genau mit "...dem Mailverzeichnis..." und was meinst Du mit "...dem normalen Mailverzeichnis..."?

Im ich sehe 2 Order, die Mail heißen. Der eine liegt im Hauptverzeichnis des Web-Server/mail und das andere im Template-Verzeichnis "Web-Server/Theme/Classic/mail", jedoch sehe ich in beiden Mail-Ordnern keine PHP-Datei.

Die Bestätigungs-eMails an den Kunden zeigen aber trotzdem alle Kunden- u. Produkt-Daten korrekt an.

Link to comment
Share on other sites

Folgende eMail-Ordner habe ich:

a) Hauptordner:      /mail
b) Theme-Ordner: /themes/classic/de/mail

Diese eMail-Ordner haben lediglich html u. 3 tpl-Dateien aber keine php-Dateien.

Einen weiteren eMail-Ordner fand ich im Modul
/ps_mailalerts"
Direkt im ps_mailalerts-Ordner sind auch php-Dateien:
emailalerts.jpg

Und ich sollte nun alle diese php-Dateien wohin kopieren?

Link to comment
Share on other sites

Wie schon in deinem anderen Thread geschrieben:

Quote

Der Fehler mit fehlenden Ersetzung der Variablen ist bekannt und wird durch Großschreibung in Emailadressen verursacht. Prüfe man ob deine Emailadresse für die Bestellbenachrichtigung einen Großbuchstaben enthält und ersetze diesen entsprechend.

 

Link to comment
Share on other sites

Dafür baut man sich im Script einen strtolower-Befehl ein, also die die Eingabe mit diesem Befehl in kleine Buchstaben umwandeln und erst dann weiterverarbeiten. Damit ist es egal, was die Leute da reinschreiben und der Fehler kann nicht mehr auftreten.

In etwas so: (Annahme: es soll die Abfrage der Mailadresse geprüft und ggf. geändert werden, erst dann geht die Mailvariable in der korrekten Form weiter)

input $mailin
$mail = strtolower($mailin)
und ab da macht man dann mit der $mail-Variable im korrekten Format weiter

Wie man es im Script umsetzt, müßte man im genauen Listing sehen, aber so in etwa macht man das, dann ist man vor solchen blöden Überraschungen sicher ;) Im Beispiel ändert man die Variable, die die Mailadresse enthalten soll, beim Input ab (hier von $mail in $mailin) und verarbeitet Sie mittels strtolower weiter, dadurch werden eventuelle Großbuchstaben in Kleinbuchstaben umgewandelt und die Variable $mail korrekt befüllt.

Wenn ich weiß, dass mein Script hier nicht fehlertolerant ist, dann muss sowas auf jeden Fall rein.

Schönen Abend noch :)

 

Edited by Claudiocool (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...