邮箱邀请注册,增加积分
为吸引更多用户在网站注册会员,可以给iWebshop增加通过邮件邀请用户功能。
流程
1. 已注册会员在会员中心输入好友邮箱地址
2. 通过SendMail向好友邮箱发送邀请会员注册链接
3. 好友单击链接后,跳转到会员注册页面,开始注册会员
4. 注册完毕后,新注册会员信息入库,同时邀请人积分增加100分
功能实现
在会员中心页面增加”好友邀请”菜单
未添加前效果
在
views/default/layouts/ucenter.html布局模板中增加代码
效果
在views/default/ucenter目录下创建invite.html页面,单击邮箱邀请链接时,进入此页面
在controllers/ucenter.php页面增加inviteMail方法
inviteMail方法的功能是向被邀请注册会员的邮箱发送邀请邮件。
注意:需要在config/site_config.php文件中配置SMTP参数后,才能成功发送邮件,参考下一步说明。
在config/site_config.php文件中配置SMTP参数
请按下图所示获取网易163邮箱的授权码
发送测试邮件,查看是否发送成功
在simple控制器中创建reg方法
在reg方法中根据url中的id(即用户id)获取用户的用户名,之后将用户名和id传递到/vire/default/simple/reg视图 中。
修改会员注册页面(view/default/simple/reg.html)
在会员注册页面增加邀请人信息。
单击邮箱中的链接进行测试
单击链接,查看是否能够跳转到会员注册页面,并在注册页面显示邀请人信息。
修改simple控制器下的reg_act方法
通过
view/default/simple/reg.html页面可知,会员注册信息提交到了simple/reg_act方法,故修改reg_act方法,为新注册会员添加信息,为邀请人增加50积分。
view/default/simple/reg.html文件
在此文件中观察会员注册表单的提交地址。
Controller/simple.php文件
在simple控制器的reg_act方法中可以看到,手动触发了userRegAct方法,需要到plugins/_userInfo.php插件文件中修改会员注册方法。
plugins/_userInfo.php文件
在plugins/_userInfo.php文件中,可以看到注册了userRegAct事件,调用userRegAct方法,实现用户注册。
1) 修改userRegAct方法,添加获取邀请人id的代码
2) 修改userRegAct方法,在数组中添加invite键,其值是邀请人id,新用户注册时,需要将邀请人id一同存入iwebshop_user表中
修改userRegAct方法,添加下图所示代码,当新用户注册成功后,需要向iwebshop_point_log表中增加记录,更新邀请人积分。
修改iwebshop_user表
在iwebshop_user表中增加invite字段,此字段存储邀请人id。
新用户注册
通过单击邮件中的链接,注册会员,查看相关数据表,检验相关数据是否添加成功。
1. 单击链接,进入注册页面
填写注册信息并提交
查看相关数据表中是否成功存入数据
1) 新注册用户wangwu的信息已存入iwebshop_user表,其邀请人字段(invite)的值为2,邀请人是zhangxiaofeng。
2) 在iwebshop_member表中也存入了wangwu的相关信息,当用户在会员中心中完善个人资料后,会更新此表中数据
3) 在iwebshop_point_log表中存存入了会员积分。
User_id值为2的用户,即zhangxiaofeng分别邮件邀请了lisi和wangwu,故此处有两条记录