Opencart: изменение макетов электронной почты

Я запускаю Opencart версии 2.0.1.1. Мне нужен способ редактирования макета электронной почты для регистрации и заказа .

Под этим я подразумеваю управление полным макетом с помощью HTML / CSS, а не только редактирование текстовых определений переменных. Я знаю, что они расположены в:

./catalog/language/english/mail/customer.php и ../order.php соответственно.

Моя тема пришла с пользовательской почтой для шаблона электронной почты заказа, расположенного в ./catalog/view/theme/theme574/template/mail/order.tpl (см. Ниже).

Я хочу этот уровень контроля, когда пользователь регистрируется и когда я обновляю статус заказа с комментарием.

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title><?php echo $title; ?></title> </head> <body style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #000000;"> <div style="width: 680px;"><a href="<?php echo $store_url; ?>" title="<?php echo $store_name; ?>"><img src="<?php echo $logo; ?>" alt="<?php echo $store_name; ?>" style="margin-bottom: 20px; border: none;" /></a> <p style="margin-top: 0px; margin-bottom: 20px;"><?php echo $text_greeting; ?></p> <?php if ($customer_id) { ?> <p style="margin-top: 0px; margin-bottom: 20px;"><?php echo $text_link; ?></p> <p style="margin-top: 0px; margin-bottom: 20px;"><a href="<?php echo $link; ?>"><?php echo $link; ?></a></p> ... ... ... 

Может ли кто-нибудь помочь мне здесь? Будем очень благодарны за любые советы о том, с чего начать.

Спасибо.

У меня была такая же проблема, но я использовал mailgun lib для отправки своих писем, и я могу использовать html / css-шаблоны 🙂

если вам нравится следовать этим шагам: 1-загрузка mailgun lib https://github.com/mailgun/mailgun-php

2- вы должны отредактировать системную почтовую систему или добавить свою функцию в систему opencart: (я меняю почтовую функцию opencart totaly). Я добавляю эти коды в /system/library/mail.php переименовать send () в oldsend () или что угодно

  //extracted mailgun lib address require 'mailgun/autoload.php'; use Mailgun\Mailgun; public function send(){ $mg = new Mailgun("mailgunkey goeshere"); $domain = "your domain code"; $mg->sendMessage($domain, array( 'from' => $this->from , 'to' => $this->to , 'subject' => $this->subject , 'text' => $this->text , 'html' => $this->html )); } 

в качестве примера для отправки почты:

  $data['text_discount'] = 'text'; if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/welcome.tpl')) { $html = $this->load->view($this->config->get('config_template') . '/template/mail/welcome.tpl', $data); } else { $html = $this->load->view('default/template/mail/welcome.tpl', $data); } $mail->setTo($data['email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender(html_entity_decode($this->config->get('config_name'),ENT_QUOTES, 'UTF-8')); $mail->setSubject($subject); $mail->setHtml($html); $mail->send(); 

это просто базовый пример 🙂