关于ecshop购买记录增加和显示更多信息

2016-09-11 20:38 来源:www.chinab4c.com 作者:ecshop专家

ecshop的购买记录无论程序还是模板都默认只显示用户名、购买时间、购买数量以及成交与否这几项信息。实际使用过程发现,其实只显示这四项信息不够友好,今天来着手讲解一下如何在购买记录的地方显示更多有用的信息,提高用户体验。
因为ecshop程序本身并未调用其他的数据,所以单纯在购买记录的模板里添加是无用的,因而这涉及到了程序的修改。
找到includes/lib_insert.php,找到
$sql = ‘SELECT u.user_name, og.goods_number, oi.add_time, IF(oi.order_status IN (2, 3, 4), 0, 1) AS order_status ‘ .
‘FROM ‘ . $GLOBALS['ecs']->table(‘order_info’) . ‘ AS oi LEFT JOIN ‘ . $GLOBALS['ecs']->table(‘users’) . ‘ AS u ON oi.user_id = u.user_id, ‘ . $GLOBALS['ecs']->table(‘order_goods’) . ‘ AS og ‘ .
‘WHERE oi.order_id = og.order_id AND ‘ . time() . ‘ – oi.add_time < 102592000 AND og.goods_id = ‘ . $arr['id'] . ‘ ORDER BY oi.add_time DESC LIMIT 20′;
$bought_notes = $GLOBALS['db']->getAll($sql);
修改成
$sql = ‘SELECT u.user_name, og.goods_number, oi.add_time, IF(oi.order_status IN (2, 3, 4), 0, 1) AS order_status, oi.shipping_name, oi.pay_name, oi.consignee, oi.order_sn ‘ .
‘FROM ‘ . $GLOBALS['ecs']->table(‘order_info’) . ‘ AS oi LEFT JOIN ‘ . $GLOBALS['ecs']->table(‘users’) . ‘ AS u ON oi.user_id = u.user_id, ‘ . $GLOBALS['ecs']->table(‘order_goods’) . ‘ AS og ‘ .
‘WHERE oi.order_id = og.order_id AND ‘ . time() . ‘ – oi.add_time < 102592000 AND og.goods_id = ‘ . $arr['id'] . ‘ ORDER BY oi.add_time DESC LIMIT 20′;
$bought_notes = $GLOBALS['db']->getAll($sql);
这里添加的代码是oi.shipping_name(订单的配送方式)、oi.pay_name(订单的支付方式)、oi.consignee(收货人姓名)、oi.order_sn(订单号)。有更多需求的用户可以查看数据库中的订单表,依次类推在程序中添加更多需要显示的信息。
调用出了以上数据,接下来到模板的修改。因为各自模板不同,以上程序的信息在模板中的调用代码分别是{$note.shipping_name}(订单的配送方式)、{$note.pay_name}(订单的支付方式)、{$note.consignee}(收货人姓名)、{$note.order_sn}(订单号),用户可以自行根据模板的代码来适当添加以上信息。