ArthurCGN Posted February 6, 2021 Share Posted February 6, 2021 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: 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 More sharing options...
Claudiocool Posted February 7, 2021 Share Posted February 7, 2021 (edited) 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... Die Suchfunktion nach Mailalerts sollte dazu vielleicht ein paar Infos bereitstellen. Edited February 7, 2021 by Claudiocool (see edit history) Link to comment Share on other sites More sharing options...
ArthurCGN Posted February 8, 2021 Author Share Posted February 8, 2021 @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 More sharing options...
Claudiocool Posted February 8, 2021 Share Posted February 8, 2021 Such mal ein Verzeichnis, das Mailalerts heisst oder vielleicht beim 1.7 auch etwas anders und vergleiche, ob die Inhalte im normalen Modulverzeichnis dieseleben wie im Template sind. Wie gesagt, da ich keinen 1.7 hier habe, stochere ich da im Nebel. Link to comment Share on other sites More sharing options...
ArthurCGN Posted February 8, 2021 Author Share Posted February 8, 2021 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: Und ich sollte nun alle diese php-Dateien wohin kopieren? Link to comment Share on other sites More sharing options...
JBW Posted February 8, 2021 Share Posted February 8, 2021 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 More sharing options...
ArthurCGN Posted February 8, 2021 Author Share Posted February 8, 2021 @JBW wow, bist Du gut! Genau das wer der Grund, warum nur die eMails an den Admin nicht mit Daten befüllt wurden! Das wird mir eine Lehre sein, in Zukunft alle eMail-Adr. in Eingabefelder klein zu schreiben Tausend Dank! Gruß aus Köln Arthur Link to comment Share on other sites More sharing options...
Claudiocool Posted February 8, 2021 Share Posted February 8, 2021 (edited) 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 February 9, 2021 by Claudiocool (see edit history) Link to comment Share on other sites More sharing options...
JBW Posted February 9, 2021 Share Posted February 9, 2021 Das wurde in 1.7.7. gefixt. Hier der PR: https://github.com/PrestaShop/PrestaShop/pull/16550 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now