Opencart 3 — письмо админу о заказе со всей информацией

с

Я только только разбираюсь с Opencart 3 и не очень люблю ставить непонятные дополнение, а люблю все разбирать и изучать и вот после того как клиенту запустили сайт и в этот же день после первого заказа было принято решение переработать письмо которое приходит админу и менеджеру о заказе, а именно что бы в письме было:

  • имя
  • фамилия
  • телефон
  • адрес
  • город
  • способ оплаты
  • способ доставки

Итого, нужно все поля которые заполняет покупатель на сайте.

В итоге вот к чему пришел.

Когда клиент оформляет заказ, то ему при ходит письмо со всей информацией:

opencart письмо администратору

тогда как администратору приходит вот такое вот грустное письмо(((

 

НУ как вы понимаете, а точнее кто хоть раз держал свои интернет магазины, сразу скажет, что это никуда не годится, не позвонить, ни узнать какую то информацию и что бы получить более подробную информацию надо заходить в админку,а если вы в пути и не можете зайти в админку?

НУ в итоге я пошел другим путем и сделал просто подмену писем, т.е. админу будет приходить такое же письмо как и клиенту)

а теперь немного магии и дело в шляпе)

Opencart 3 письмо админу о заказе

Для того что бы в opencart письмо админу о заказе вся информация приходила в письме, нужно править два файла:

  1. /catalog/controller/mail/order.php
  2. /catalog/view/theme/yourtheme/template/mail/order_alert.twig

 

order.php

Открываем файл order.php и ищем строку 270 где есть такой текст:

$mail->setTo($order_info[’email’]);
$mail->setFrom($from);
$mail->setSender(html_entity_decode($order_info[‘store_name’], ENT_QUOTES, ‘UTF-8’));
$mail->setSubject(html_entity_decode(sprintf($language->get(‘text_subject’), $order_info[‘store_name’], $order_info[‘order_id’]), ENT_QUOTES, ‘UTF-8’));
$mail->setHtml($this->load->view(‘mail/order_add’, $data));
$mail->send();

Под ним вставляем этот код:

$mail->setTo($this->config->get(‘config_email’));
$mail->setFrom($from);
$mail->setSender(html_entity_decode($order_info[‘store_name’], ENT_QUOTES, ‘UTF-8’));
$mail->setSubject(html_entity_decode(sprintf($language->get(‘text_subject’), $order_info[‘store_name’], $order_info[‘order_id’]), ENT_QUOTES, ‘UTF-8’));
$mail->setHtml($this->load->view(‘mail1/order_alert‘, $data));
$mail->send();

Данная вставка кода была вставлена в раздел где формируется и отправляется письмо покупателю, и мы такое же письмо отправляем еще и администратору как видите мы подставили шаблон письма order_alert )))

 

order_alert.twig

То что мы сделали выше по факту ничего не изменит, нам будет приходить все то же убогое письмо, а все потому что мы еще не изменили шаблон письма который должен приходить администратору!

Смотрите, я делал все на стандартном шаблоне Opencart с темой default и поэтому я создавал специально для этого папку mail1 и в ней создаем файл order_alert.twig , если же у вас своя тема, то просто создаете папку mail если ее там нет

Данные для файла order_alert.twig полностью копируем из файла order_add.twig (который лежит по адресу /catalog/view/theme/default/template/mail )

После этого нам на почту придет вот такое письмо)

 

Ну и как обычно видео ))

Понравилась статья? Поделиться с друзьями:
Блог ITишника и просто человека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: