需求说明:进入后台的Order列表,更新订单状态:Awaiting Pickup后,就会给客户发送一封希望他们能进行评论的邮件。在邮件中展示该订单下的所有产品,每个产品都有一个评论的跳转链接,点击后直接跳到产品页面,并定位到产品的评论表单,方便客户直接操作。

具体开发步骤:

第一步:修改config/config.php配置文件,这里是对Order的状态是否要发送邮件进行控制
$GLOBALS['ISC_CFG']['OrderStatusNotifications'] = '11,9,2,5,4';
改成:
$GLOBALS['ISC_CFG']['OrderStatusNotifications'] = '11,9,8,2,5,4';

第二步:修改lib/orders.php

查找:if (empty($GLOBALS['SNIPPETS']['CartItems'])) {
$emailTemplate->SetTemplate("order_status_email");
} else {
$emailTemplate->SetTemplate("order_status_downloads_email");
}
改为:
if (empty($GLOBALS['SNIPPETS']['CartItems'])) {

//arlinger info 2013-6-15
if ($status == 8) {

$query1 = "
SELECT *
FROM [|PREFIX|]order_products
WHERE orderorderid ='".$orderId."'";
$result1 = $GLOBALS['ISC_CLASS_DB']->Query($query1);

$GLOBALS['AllLi']="";  
while ($product_row1 = $GLOBALS['ISC_CLASS_DB']->Fetch($result1)) {
$GLOBALS['AllLi'].=" <li style='list-style:none;float:left;padding:15px 3% 5px 3%;width:88%;margin:10px 3% 0 3%;background:#f0f0f0;border:1px solid #e7e7e7;'><a style='color:#0074ff;text-decoration:none;font-family:Arial;' href='".prodLink(isc_html_escape($product_row1['ordprodname']))."'>".isc_html_escape($product_row1['ordprodname'])." </a>
<div style='float:left;width:100%;margin:15px 0;display:inline;'>
<a href='".prodLink(isc_html_escape($product_row1['ordprodname']))."?Reviews=ON' style='float:left;margin:0 5% 0 0;width:47%;padding:15px 0 0 0;border:1px solid #678ca8;background:#fff;height:35px;line-height:18px;text-align:center;text-decoration:none;color:#6e93af;font-size:13px;font-weight:600;'>Review this product</a>
<a  href='https://www.resellerratings.com/store/SecurityCamera2000' style='float:left;padding:15px 0 0 0;margin:0;width:47%;border:1px solid #678ca8;background:#fff;height:35px;line-height:18px;text-align:center;text-decoration:none;color:#6e93af;font-size:13px;font-weight:600;'>Feedback to Resellerratings</a></div>
</li> " ;

}

$GLOBALS['OrderReviewdHi'] = isc_html_escape($customer['custconfirstname']);
  
 $emailTemplate->SetTemplate("order_status_email_PL");
 
  
}else{
  $emailTemplate->SetTemplate("order_status_email");
}

第三步:添加了文件:/includes/classes/class.reviewpl.php和根目录下的:postreviewpl.php

/templates/__emails/下面添加了:order_status_email_PL.html,内容如下:

<html><body style="font-family: Arial; font-size: 12px;">
<div style="padding: 0 20px 0 20px;font-family:Tahoma;">       
<div style="color:#6b9dba;margin:10px 0 15px 0;text-align:center;font-size:14px;"><span style="color:#969696;font-weight:500;">Hi &nbsp;</span>%%GLOBAL_OrderReviewdHi%%<span style="color:#969696;font-size:500;">,</span></div>
<p  style="border-bottom: 1px dashed #d9d9d9;color:#656565;font-size:0.95em;margin:0 0 0 5%;padding:0 0 15px 0;line-height:20px;text-align:center;">how did this item meet your expectation? We would love your honest feedback on each of the items you purchased.</p>

<ul class="OrderItemList">
        %%GLOBAL_AllLi%%
        </ul>

</div>
</body>
</html>

PS:
1.邮件服务器会屏蔽js内容,没有查询到相关结果
2.没有验证码,产品评论不成功!?tab=ProductReviews
3.评论表单的功能修改PHP文件为:/includes/classes/class.reviewpl.php和根目录下的:postreviewpl.php

Bigcommerce: 给已完成购买的客户发送一封产品评论邮件,让客户直接进行产品评论的更多相关文章

  1. [Xcode 实际操作]八、网络与多线程-(7)使用MessageUI框架,创建并发送一封带有附件的邮件

    目录:[Swift]Xcode实际操作 本文将演示如何使用MessageUI框架,创建并发送一封带有附件的邮件. 使用邮件编辑视图控制器(MFMailComposeViewController)实现邮 ...

  2. ruby实现下订单后给客户发送手机序列号

    还有半个小时下班,写点今天做的功能,打发打发时间. 两个类,订单类和序列号类. 订单类 class GroupOrder include Mongoid::Document include Mongo ...

  3. vue 在已有的购买列表中(数据库返回的数据)修改商品数量

    连续加班一个月  连续通宵三天 到最后还是少了一个功能 心碎 简介:一个生成好的商品列表(数据库返回的数据) 首先拿到我们需要渲染的数组 在data中定义 我是在测试的时候 直接写了两条数据 下面开始 ...

  4. 从客户发送http请求到服务器返回http之间发生了什么

    由于我知识有限,可能会有模糊或者错误的地方,欢迎讨论与指正. 1.浏览器发出http请求 当用户访问一个url时,浏览器便会开始生成一个http请求. 首先获取http请求中所需要的参数,如url,c ...

  5. Spring发送基于freemarker模板的邮件

    在项目开发过程中,我们经常会遇到需要发送邮件的场景,比如:用户验证邮箱的时候,有活动通知或者提醒通知的时候……有些时候我们可能只需要发送一些简单文本内容即可,但是大多数情况下我们更希望邮件的内容是丰富 ...

  6. 直播的本质(创业者应该要从商业模式的右边开始思考,你为用户创造了什么价值?找客户并不难,但要想办法让客户不离不弃;PC端功能的丰富很重要,因为手机版通常只是一个迷你版)

    我想稍微给直播这件事浇点冷水. 的确,直播现在越来越火,YouTube凭着良好的基础建设平台前段时间也做起了直播,Facebook Live最近也加入了变脸.预定直播时间和双人录制的功能,更不用说国内 ...

  7. Powershell Mail module, 发送outbox 里的全部邮件(一个.csv文件代表一封邮件)

    把creating mail代码写到调用处,往outbox写入 mailxxx.csv文件,入面记录了邮件的主要内容 写入 #template $TMP = IMPORT-CSV "$($d ...

  8. Python模块探秘 Smtplib发送带有各种附件的邮件

    这两天对Python的邮件模块比较感兴趣,于是就查了查资料.同时在实际的编码过程中也遇到了各种各样的问题.下面我就来分享一下我与smtplib的故事. 前提条件 我的上一篇博文里面讲解了,发送邮件必须 ...

  9. Spring 发送内嵌图片的邮件 遇到的问题

    问题1:spring 发送带图片的html格式的邮件? 解决方法1:直接在发送内容里面添加 <img src="http://www.rgagnon.com/images/jht.gi ...

随机推荐

  1. 免解压版的Mysql的启动脚本,并且执行导入(windows)

    @echo off rem ################### set MYSQL_VERSION=mysql-5.5.32-win32 set LOCK=wot.lock rem ####### ...

  2. IOS UItableView得到group如何摆脱的剪裁线条样式问题

    在他们的定义UItableView什么时候,选择当style至Group时间,后常透明切割线依然,去除.只有再次刷新了BackgroundView它可以覆盖原来的 //取消切割线 UIView *vi ...

  3. Swift - 产生不重复数字的随机数生成器

    在Swift中,可以使用函数类型的参数,也可以使用函数类型的返回值.而作为返回值的函数,还能“捕获”外部的值,并多次使用它.这个特性,常可用来创建各种生成器. 下面通过创建一个“随机数生成器函数”作为 ...

  4. [hadoop系列]Pig的安装和简单演示样例

    inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yaho ...

  5. ASP.NET - 匹配标签中的内容

    string str = @"<td>Csdn</td>\r\n<td>V1.0</td>\r\n<td>2014-10-23&l ...

  6. C#、ASP.NET、WinForm - 实现邮件发送的功能

    转载自:http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/14/2212255.html 发送邮件所用的核心知识点 微软封装好的Mail ...

  7. java学习笔记-继承中super关键字

    背景: 在java继承的概念中我们得知,被声明为私有的类成员对所属的类来说仍然是私有的.类之外的任何代码都不能访问,包括子类. super关键字的两种用法: 1.用于调用超类的构造函数: 2.用于访问 ...

  8. 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)

     1  多行函数(理解:有多个输入,但仅仅输出1个结果) SQL>select count(*) from emp; COUNT(*) ------------- 14 B 字符函数Lowe ...

  9. ABAP常用字符串处理

    1.SEARCH搜索指定字符串 REPORT Z_CHAR. ). MOVE 'Welcom to sap world!' to str. SEARCH str for 'sap'. 如果查找成功sy ...

  10. DAG上的动态规划

    嵌套矩形问题(最长路及其字典序)有n个举行,选出尽量多的矩阵排成一排,使得除了最后一个之外,每一个矩形可以嵌套在下一个矩形内,并且打印 #include <iostream> #inclu ...