Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

как opencart сделать письма с уведомлением о заказе администратору с полными данными так и заказчику? кратко

Практика



как opencart сделать письма с уведомлением о заказе администатору с полными данными с счетом так и заказчику?

в файле catalog/model/checkout/order.php найдите

примерно в 497 строке
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
$mail->setHtml($html);
$html2=$html;

$mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8'));
$mail->send();



добавьте $html2=$html;


и ниже добавьте в 558 строке
$mail->setSender($order_info['store_name']);
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
$mail->setText(html_entity_decode($text2, ENT_QUOTES, 'UTF-8'));
$mail->setHtml($html2);
$mail->send();



$mail->setHtml($html2);

а как добавить картинки товаров? в почтовое сообщение с заказом?

измените файл /model/checkout/order.php

1. $order_product_query = $this->db->query("SELECT * , o.quantity AS quantity FROM " . DB_PREFIX . "order_product ".
" o LEFT JOIN " . DB_PREFIX . "product p ON (p.product_id = o.product_id) ".

"WHERE o.order_id = '" . (int)$order_id . "'");
добавьте JOIN и алиасы в запросы

2. $this->load->model('tool/image'); подключите модель загрузки метода редактирования размеров изображения
3. добавьте переменную с картинкой $template->data['products'][] = array(
'name' => $product['name'],
'model' => $product['model'],
'option' => $option_data,
'image' => $this->model_tool_image->resize($product['image'], 190, 190),



4. в файле /catalog/view/theme/вашатема/template/mail/order.tpl добавьте
вывод картинке в письмо
после
как opencart сделать письма с уведомлением о заказе администратору с полными данными так и заказчику?

у меня проблемы некоторые картинки не видны
в почте mail.ru

посмотрел там встречаются русские буквы... видимо их где то нужно кодировать корректно в URL

в файле /catalog/model/tool/image.php opencart

в самом конце добавьте urlencode

if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
return HTTPS_IMAGE . urlencode($new_image);
} else {
return HTTP_IMAGE . urlencode($new_image);
}

если папки русскими буквами то все равно не показываются картинки видимо проблемы со слешем / заменен urlencode на %2F а лучше так его и оставить /
и пробелом он заменен urlencode на + а лучше %20

поэтому лучше так сделать
return HTTP_IMAGE . str_replace('+', '%20', str_replace('%2F', '/', urlencode($new_image)));

Вау!! 😲 Ты еще не читал? Это зря!

создано: 2013-10-13
обновлено: 2021-07-14
948



Рейтиг 10 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)