Prestashop to dość kompleksowa rozwiązanie. Na 99% posiada to czego oczekujesz od internetowego sklepu. Jednak czasem zdarzają się drobne rzeczy które przydało by się poprawić.
Jedną z nich jest możliwość odpowiadania na email z zamówienie klienta prosto z programu pocztowego. Otrzymujemy list z informacją, że klient coś zakupił i chcemy, odpowiedzieć mu np. że czegoś nie mamy, klikając po prostu odpowiedz. Problem w tym że prestashop w polu “odpowiedz do” podaje email sklepu a nie klienta i tym się zajmiemy.Modyfikacja jest bardzo prosta, zamieszczam ją żeby skrócić komuś czas na szukanie odpowiedniego miejsca kodu do zmiany :)
Wszystko sprowadza się do zmiennej z domyślnym emialem zwrotnym, fabrycznie jest to zmienna $configuration[‘PS_SHOP_EMAIL’]), a my chcemy odpisać klientowi (oraz widzieć jego imię i nazwisko w polu “do”) czyli – $customer->email, $customer->firstname. ” “. $customer->lastname.
Oryginalny wpis znajduje się w pliku /modules/mailalerts/mailalerts.php , linia ~230
Mail::Send($id_lang, $template, $subject, $templateVars, explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails), NULL, $configuration['PS_SHOP_EMAIL'], $configuration['PS_SHOP_NAME'], NULL, NULL, dirname(__FILE__).'/mails/');
Po zmianie
Mail::Send($id_lang, $template, $subject, $templateVars, explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails), NULL, $customer->email, $customer->firstname. " ". $customer->lastname, NULL, NULL, dirname(__FILE__).'/mails/');
To wszytko, miłej zabawy!
a jak to zrobić w 1.5.4.1?
Budowa pliku mailalerts.php jest troche inna…
w pliku mailalerts.php (nie mylić z MailAlert.php) w okolicy 392 lini jest:
Mail::Send(
$id_lang,
$template,
sprintf(Mail::l('New order - #%06d', $id_lang), $order->id),
$template_vars,
explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails),
null,
$configuration['PS_SHOP_EMAIL'],
$configuration['PS_SHOP_NAME'],
null,
null,
dirname(__FILE__).'/mails/'
a ma być:
Mail::Send(
$id_lang,
$template,
sprintf(Mail::l('New order - #%06d', $id_lang), $order->id),
$template_vars,
explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails),
null,
$customer->email,
$customer->firstname. " ". $customer->lastname,
null,
null,
dirname(__FILE__).'/mails/'