Всем доброй ночи!
Сегодня хочу продолжить серию статей по Opencart 3 и связанно это с тем, что я решил сделать сайт заказчику не на opencart 2 (ocstore 2), а именно на третьей версии, потому как очень уж хотелось ее потрогать в боевых условиях и пришлось пойти на эту авантюру!
В прошлой статье я рассказал как можно исправить ошибку когда не приходит письмо администратору
Сегодня речь тоже пойдет о письмах, а именно когда письма приходят, но только они приходят как HTML код:
Если такое письмо придет клиенту представляете что он может подумать)
Но давайте перейдем к делу и попробуем решить проблему с письмами которые у нас приходят в html кодировке.
Файл отвечающий за письма клиенту и администратору: public_html/catalog/controller/mail/order.php
и надо проверить код и найти
найти
$mail->setText
заменить
$mail->setHtml($html);
тут как вы поняли setText как раз и отвечает за отправку письма как текст, а при замене на setHtml его кодирует в html
Блок кода который отвечает за письмо администратору:
$mail->setTo($this->config->get(‘config_email’));
$mail->setFrom($this->config->get(‘config_email’));
$mail->setSender(html_entity_decode($order_info[‘store_name’], ENT_QUOTES, ‘UTF-8’));
$mail->setSubject(html_entity_decode(sprintf($this->language->get(‘text_subject’), $this->config->get(‘config_name’), $order_info[‘order_id’]), ENT_QUOTES, ‘UTF-8’));
$mail->setHtml($this->load->view(‘mail1/order_alert’, $data));
$mail->send();
Вот и все!
Если Вы хотите узнать почему стали приходить такие письма, то тут могу предположить, что это происходит только после установки каких то модулей, я не смог вычислить потому как просто нету свободного времени, но если в дальнейшем такая ситуация снова будет, то пройдусь по всем модулям которые у меня установлены (а их очень много)!
Спасибо большое за статью!
Статья как никогда кстати. Благодарю!