piku Posted October 11, 2015 Share Posted October 11, 2015 (edited) In unserem SHop gibt es nur kostenlose Download-Produkte für angemeldete User. Daher macht es keinen Sinn immer eine Bestellbestätigung zu verschicken. Derzeit werden pro Download zwei Mails verschickt: 1. eine Bestellbestätigung 2. eine Mail mit dem Downloadlink Die erstere möchte ich gerne komplett deaktivieren, weil Sie nicht nötig ist. Obwohl ich unter "Bestellungen > Status" den Status Bestellbestätigung alle Haken entfernt habe, auch "E-Mail an den Kunden senden, wenn sich der Status ändert" ist deaktiviert, werden trotzdem Bestellbestätigungen verschickt. "Bestellung gilt als bestätigt", "Setze Bestellung auf Versand erfolgt" und "Setze Bestellung auf bezahlt" sind natürlich aktiviert. Wie lässt sich das unterbinden? Vielen Dank, p. Edited October 11, 2015 by piku (see edit history) Link to comment Share on other sites More sharing options...
eleazar Posted October 11, 2015 Share Posted October 11, 2015 (edited) Das Deaktivieren reicht hier nicht aus, weil die automatische Versendung leider fest einprogrammiert ist. Verhindern lässt sich das nur durch Auskommentieren der Zeilen 777-790 der Datei classes/PaymentModule.php (Zeilenangabe kann je nach PrestaShop-Version leicht abweichen, hier für 1.6.1.2 RC3): if (Validate::isEmail($this->context->customer->email)) { Mail::Send( (int)$order->id_lang, 'order_conf', Mail::l('Order confirmation', (int)$order->id_lang), $data, $this->context->customer->email, $this->context->customer->firstname.' '.$this->context->customer->lastname, null, null, $file_attachement, null, _PS_MAIL_DIR_, false, (int)$order->id_shop ); } Vor jede Zeile zwei Slashes setzen, also so: // if (Validate::isEmail($this->context->customer->email)) { Um zu verhindern, dass die Änderung mit jedem Update wiederholt werden muss, empfiehlt es sich, die gesamte Funktion validateOrder mit den obigen Änderungen als Override anzulegen. Edited October 11, 2015 by eleazar (see edit history) Link to comment Share on other sites More sharing options...
piku Posted October 11, 2015 Author Share Posted October 11, 2015 Danke für die ausführliche Hilfe! Das mit dem Override hat geklappt. Leider wird nun auch keine Mail mehr verschickt, die den Downloadlink für ein virtuelles Produkt verschickt. Muss ich da irgendetwas wieder aktivieren? p. Link to comment Share on other sites More sharing options...
Lockesoft Posted October 25, 2015 Share Posted October 25, 2015 Hallo zusammen, ich habe das hier auch nochmal in einem Testshop (1.6.1.1) nachgestellt und hier klappt das. Auch wenn ich ein anderes Kommentarzeichen verwendet habe. :-) /* */ Dieses Pärchen muss für den ganzen Block nur einmal verwendet werden. Also ungefähr so: /* if (Validate::isEmail($this->context->customer->email)) {Mail::Send((int)$order->id_lang,'order_conf',Mail::l('Order confirmation', (int)$order->id_lang),$data,$this->context->customer->email,$this->context->customer->firstname.' '.$this->context->customer->lastname,null,null,$file_attachement,null, _PS_MAIL_DIR_, false, (int)$order->id_shop);} */ Allerdings klappt das auch mit den von eleazar vorgeschlagenen Kommentarzeichen hervorragend. Zusammengefasst ist das anscheinend nicht der Grund für die fehlende Downloadmail. LG Klaus / Lockesoft Link to comment Share on other sites More sharing options...
prestamax Posted October 31, 2015 Share Posted October 31, 2015 (edited) Über das Modul email Benachrichtigungen (mail alerts) müsste sich das doch eigentlich auch ausschalten lassen.Ach nein, habe eben geschaut ... das kann man nur für den Händler abschalten. Edited October 31, 2015 by prestamax (see edit history) 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