改进ECSHOP客户友好度之【订单付款】,把付款按钮放到首页和订单页面。
2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家
ECSHOP很好很强大,但是还是有一些不足之处。客户下单,谈好价格后,需要付款,如果您谈好的价格与网站上的价格不一样,您就需要到后台去改价格,然后通知客户找到订单去点击付款。但很多用户都是第一次使用,找到订单的付款按钮也要很久,对于客户来说很烦躁,对于在那边急等成交的您来说,是个煎熬。 我把“订单付款”放到首页,方便客户点击,并且提示客户有几个订单未付款。 演示地址:http://www.bv66.com 您注册下个单就知道效果了。 代码如下: 首先打开文件: includes/lib_insert.php 在文件最下面加一个函数: /** * 调用订单数量信息 * * @accesspublic * @returnstring */ function insert_ord_info() { if ($_SESSION['user_id'] > 0) { //如果已登陆,找用户未付款付单数量。 $sql = "SELECT COUNT(*) FROM " .$GLOBALS['ecs']->table('order_info'). " WHERE user_id = '" . $_SESSION['user_id'] . "' and pay_status = 0"; $record_count = $GLOBALS['db']->getOne($sql); }else { $record_count = 0; } if ($record_count != 0) { // 这里是返回信息,图片文字,随便您自已改了。 $str = '<a href="user.php?act=order_list">您有 ' . $record_count . ' 笔订单未付款。<font color="#FF0"><b>点击付款</b></font></a>'; }else { $str = '您有 ' . $record_count . ' 笔订单未付款。'; } return $str; } 然后进入管理后台,“库项目管理”中找到模板文件 page_header.lbi 中,在合适的地方,加入代码: {insert name='ord_info'} 用户的订单信息就会在相应地方显示。点击进去就进入了订单页面。但是客户还是要点击订单进去才能付款,能否像淘宝一下,在订单页面不必进订单详情页面就可以直接点击付款呢? 我后来又作了一些改动,代码如下: 打开根目录下的user.php。找到代码: /* 查看订单列表 */ elseif ($action == 'order_list') 在 include_once(ROOT_PATH . 'includes/lib_transaction.php'); 后面增加: include_once(ROOT_PATH . 'includes/lib_payment.php'); include_once(ROOT_PATH . 'includes/lib_order.php'); include_once(ROOT_PATH . 'includes/lib_clips.php'); 打开includes/ lib_transaction.php 文件。找到代码: function get_user_orders($user_id, $num = 10, $start = 0) 将函数里面的$sql定义语句改为: $sql = "SELECT order_id, order_sn, order_status, shipping_status, pay_status, add_time, pay_id, order_amount, " . "(goods_amount + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee + tax - discount) AS total_fee ". " FROM " .$GLOBALS['ecs']->table('order_info') . " WHERE user_id = '$user_id' ORDER BY add_time DESC"; 在代码: while ($row = $GLOBALS['db']->fetchRow($res)) { 后面增加: /* 如果是未付款状态,生成支付按钮 */ if ($row['pay_status'] == PS_UNPAYED && ($row['order_status'] == OS_UNCONFIRMED || $row['order_status'] == OS_CONFIRMED)) { /* * 在线支付按钮 */ //支付方式信息 $payment_info = array(); $sql = 'SELECT * FROM ' . $GLOBALS['ecs']->table('payment') . " WHERE pay_id = '" . $row['pay_id'] . "' AND enabled = 1"; $payment_info = $GLOBALS['db']->getRow($sql); //无效支付方式 if ($payment_info === false) { $row['pay_online'] = ''; } else { //取得支付信息,生成支付代码 $payment = unserialize_config($payment_info['pay_config']); //获取需要支付的log_id $row['log_id'] = get_paylog_id($row['order_id'], $pay_type = PAY_ORDER); $row['user_name'] = $_SESSION['user_name']; $row['pay_desc']= $payment_info['pay_desc']; /*调用相应的支付方式文件 */ include_once(ROOT_PATH . 'includes/modules/payment/' . $payment_info['pay_code'] . '.php'); /* 取得在线支付方式的支付按钮 */ $pay_obj = new $payment_info['pay_code']; $row['pay_online'] = $pay_obj->get_code($row, $payment); } } else { $row['pay_online'] = ''; } 以前忘记了,还要加一段代码:大概在381行加入:(有些网友找我说不显示按钮,在此说声对不起,我马虎了。) 'pay_online' => $row['pay_online'] 定认返回数组: $arr[] = array('order_id' => $row['order_id'], 'order_sn' => $row['order_sn'], 'order_time'=> local_date($GLOBALS['_CFG']['time_format'], $row['add_time']), 'order_status'=> $row['order_status'], 'total_fee'=> price_format($row['total_fee'], false), 'handler'=> $row['handler'], 'pay_online' => $row['pay_online']); 最后,还得在您的订单页面显示出来: 我是找到代码:{$item.handler}在它前面加入。 {$item.pay_online} OK,最后显示效果如下: 有不足之处,希望大家指正: QQ:355521898 网址: http://www.ouwhy.com/posts/3 |
回答:
在会员中心操作。也不会太复杂把。 |
这个还是很有用的、支持一个了!! |
用户体验好点!支持过 |
支持下!! |
合并订单出现:
|
最近更新
常用插件
- ecshop2.7.1打印发货单插件
ecshop2.7.1打印发货单插件介绍:ecshop2.7.1和以前的ecshop版本不一样,ecs...
- ecshop二次开发详细页面生
插件介绍: ECSHOP系统,在很多时候,很多商品没有人购买,不但购买的人...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
- ecshop分类批量扩展插件
ecshop分类批量扩展插件,这个插件是ecshop插件里面比较核心的插件。我们...
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
ecshop热门问答
ecshop热门资料
ecshop缓存
zencart导航
ajax使用
ecshopquery
ecshop说明性
ecshopG1型
ecshopiphone4
ecshopLinux
ecshop砸彩蛋活动功能
ecshop中文域名
ecshop离线
ecshop也买酒
ecshop边距
ecshopwordpress
ecshopECSHOP设置
ecshopvalues
ecshop精品推荐
ecshopalibab
ecshop通知
ecshop高效过滤器
ecshop非技术
ecshopipad
ecshop烦请
ecshop不见了
ecshop小点
ecshopbutton
ecshop账户余额
ecshop文章列表
ecshop导航栏特效
ecshop监控订单