A-A+

ecshop系统注册送红包的功能如何实现

2016年01月01日 PHP开源系统 评论 2 条 阅读 11 views 次

现在都在送红包了,尤其2016年,微信支付宝红包满天飞,各种电商平台红包满天飞,所以 ecshop 系统平台电商也不能甘拜下风了,ecshop 早就推出了送红包的功能,这不,在2016年的时候就有一个客户想要开发一下 ecshop 注册会员送红包的功能,只要注册就有红包推送,好吧,幸好,ecshop 有其红包的核心,否则我还真不知道如何下手呢,下面夏日博客就把方法分享下来,小小的二次开发哦。。

第一步,先在 ecshop 后台添加一种红包的类型,可以命名为“注册送红包”

第二步,打开 includes/lib_common.php 文件,在文件的最后一个 ?> 符号前面添加一个函数,如下所示:

  1. function send_register_bonus($user_id,$bid=0)  
  2. {  
  3.   if($bid ==0)  
  4.      {  
  5.      $bid = $GLOBALS['db']->getOne("sel ect type_id from " . $GLOBALS['ecs']->table('bonus_type') . "where type_name ='注册送红包' order by type_id desc limit 1 " );  
  6.   }  
  7.   if(! $bid)  
  8.      {  
  9.     return  false;  
  10.   }  
  11.   $user_info = $GLOBALS['db']->getRow("sel ect user_name, email from " . $GLOBALS['ecs']->table('users') . "where user_id ='$user_id' " );  
  12.   $bonus_type = $GLOBALS['db']->getRow("SELECT * FROM " . $GLOBALS['ecs']->table('bonus_type') .  
  13.             " WHERE type_id = '$bid'");  
  14.   if(! $bonus_typereturn false;  
  15.      
  16.    
  17.   /* 向会员红包表录入数据 */  
  18.   $sql = "INSERT INTO " . $GLOBALS['ecs']->table('user_bonus') .  
  19.     "(bonus_type_id, bonus_sn, user_id, used_time, order_id, emailed) " .  
  20.     "VALUES ('$bid', 0, '$user_id', 0, 0, " .BONUS_MAIL_SUCCEED. ")";  
  21.   $GLOBALS['db']->query($sql);  
  22.    
  23.   $tpl = get_mail_template('send_bonus');  
  24.   if(! $tplreturn false;  
  25.   $today = local_date($_CFG['date_format']);  
  26.   /* 发送邮件通知 */  
  27.         $GLOBALS['smarty']->assign('user_name',    $user_info['user_name']);  
  28.         $GLOBALS['smarty']->assign('shop_name',    $GLOBALS['_CFG']['shop_name']);  
  29.         $GLOBALS['smarty']->assign('send_date',    $today);  
  30.         $GLOBALS['smarty']->assign('sent_date',    $today);  
  31.         $GLOBALS['smarty']->assign('count',        1);  
  32.         $GLOBALS['smarty']->assign('money',        price_format($bonus_type['type_money']));  
  33.    
  34.         $content = $GLOBALS['smarty']->fetch('str:' . $tpl['template_content']);   
  35.    
  36.   send_mail($user_info['user_name'], $user_info['email'], '注册送红包', $content$tpl['is_html']);  
  37. }  
  38.    
  39. ?>  

第三步,修改 lib_passport.php 文件的 register 函数,如下所示:

  1. /* 注册送积分 */  
  2. if (!emptyempty($GLOBALS['_CFG']['register_points']))  
  3. {  
  4.     log_account_change($_SESSION['user_id'], 0, 0, $GLOBALS['_CFG']['register_points'], $GLOBALS['_CFG']['register_points'], $GLOBALS['_LANG']['register_points']);  
  5. }  
  6.    
  7.    
  8.  /***注册送红包**/  
  9.  send_register_bonus($_SESSION['user_id']);  
  10.    
  11. /*推荐处理*/  
  12. $affiliate  = unserialize($GLOBALS['_CFG']['affiliate']);  

好了,这个时候只要注册就有红包送哦,我们看最后修改的这个函数,其中:

  1. send_register_bonus($_SESSION['user_id']);   

这一段是新加的注册送红包的代码,其它的不变。。

标签:

2 条留言  访客:2 条  博主:0 条

  1. 安逸屋

    红包这么流行 各平台都在上线红包功能

    • smiling

      现在都是红包时代了。

给我留言