Hallo,
wer das Plugin Backend Bestellungen (aktuelle Version 1.0 von SW einsetzt, der hat das Problem das die Bestellbestätigungsmail 2 mal an den Kunden gesendet wird.
Als Beispiel:
erste Mail: kunde@kundenmail.de
zweite Mail: kunde@kundenmail.de, office@meinshop.de
Also einmal Kundenemailadresse und einmal die, die in der Konfiguration des Shops hinterlegt ist.
Dazu gibt es seit längerem auch dieses Ticket PT-3960. Vielleicht können hier ein paar voten um das Ganze etwas zu priorisieren!
Zuständig dafür ist die folgende Funktion unter
Pfad: /engine/Shopware/Plugins/Community/Backend/SwagBackendOrder/Controllers/Backend/SwagBackendOrder.php
private function sendOrderConfirmationMail($orderModel)
{
$context = $this->prepareOrderConfirmationMailData($orderModel);
$context['sOrderDetails'] = $this->prepareOrderDetailsConfirmationMailData($orderModel);
$mail = Shopware()->TemplateMail()->createMail('sORDER', $context);
$mail->addTo($context["additional"]["user"]["email"]);
$mail->send();
//If configured send an email to the shop owner
$mailNotToShopOwner = Shopware()->Config()->get('no_order_mail');
if (!$mailNotToShopOwner) {
$mail->addTo(Shopware()->Config()->get('mail'));
$mail->send();
}
}
Ich habe nun folgendes im unteren Teil in der if Anweisung zusätzlich eingefügt:
$mail = Shopware()->TemplateMail()->createMail('sORDER', $context);
Dadurch werden die eMails wieder korrekt versendet. Eine an den Shopadmin und eine an den Kunden. Die Frage ist aber ob dieser Weg so ok ist, oder ob es hier eine bessere Vorgehensweise gibt?!
Hier der komplette Code:
private function sendOrderConfirmationMail($orderModel)
{
$context = $this->prepareOrderConfirmationMailData($orderModel);
$context['sOrderDetails'] = $this->prepareOrderDetailsConfirmationMailData($orderModel);
$mail = Shopware()->TemplateMail()->createMail('sORDER', $context);
$mail->addTo($context["additional"]["user"]["email"]);
$mail->send();
//If configured send an email to the shop owner
$mailNotToShopOwner = Shopware()->Config()->get('no_order_mail');
if (!$mailNotToShopOwner) {
$mail = Shopware()->TemplateMail()->createMail('sORDER', $context);
$mail->addTo(Shopware()->Config()->get('mail'));
$mail->send();
}
}
Gruß Creatixx
PS: WOW geiler Editor!!!