Opencart:修改电子邮件布局
Opencart: modifying email layouts
我是 运行 Opencart 版本 2.0.1.1。我需要一种方法来编辑 注册 和 订单更新 电子邮件的布局。
我的意思是使用 HTML/CSS 控制整个布局,而不仅仅是编辑变量的文本定义。我知道这些位于:
./catalog/language/english/mail/customer.php
和 ../order.php
。
我的主题带有自定义邮件,用于位于 ./catalog/view/theme/theme574/template/mail/order.tpl
中的 order 电子邮件模板(见下文)。
我想要在用户注册时以及我用评论更新订单状态时的控制级别。
<!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 库发送我的邮件,我可以使用 html/css 模板 :)
如果您愿意,请按照以下步骤操作:
1-下载 mailgun 库 https://github.com/mailgun/mailgun-php
2- 您必须编辑系统邮件系统或将您的功能添加到 opencart 系统:
(我完全改变邮件功能opencart)
我将此代码添加到 /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();
这只是基本示例:)
我是 运行 Opencart 版本 2.0.1.1。我需要一种方法来编辑 注册 和 订单更新 电子邮件的布局。
我的意思是使用 HTML/CSS 控制整个布局,而不仅仅是编辑变量的文本定义。我知道这些位于:
./catalog/language/english/mail/customer.php
和 ../order.php
。
我的主题带有自定义邮件,用于位于 ./catalog/view/theme/theme574/template/mail/order.tpl
中的 order 电子邮件模板(见下文)。
我想要在用户注册时以及我用评论更新订单状态时的控制级别。
<!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 库发送我的邮件,我可以使用 html/css 模板 :)
如果您愿意,请按照以下步骤操作: 1-下载 mailgun 库 https://github.com/mailgun/mailgun-php
2- 您必须编辑系统邮件系统或将您的功能添加到 opencart 系统: (我完全改变邮件功能opencart) 我将此代码添加到 /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();
这只是基本示例:)