Discuz开发 Discuz! X2.5QQ登录流程修改方法

[复制链接]
ARCHY明星会员实名认证 发表于 2012-4-20 16:52:26 [Discuz开发] 显示全部楼层 |阅读模式 上一主题 下一主题
discuz使用视频教程

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
本文档介绍如何优化注册、完善资料流程,请注意,本文档仅适合discuz! X2.5版本。

应用场景:Discuz! X2.5对QQ登录流程进行了修改,默认为QQ游客组,如果QQ初次登录后进行发帖或使用漫游应用时,提示权限有限,需完善资料,致使部分以QQ登录用户为主的站点用户流失严重。

主要修改思路:修改QQ首次登录后的跳转到完善资料页,并在跳转之前增加一段随机生成电子邮件地址代码,邮件地址后缀取的是网站的域名;完善资料页调用系统模版的register.htm文件,对是否为QQ首次登录做出判断,接到$_GET的电子邮件地址并隐藏显示,无需用户填写,用户名自动获取。

修改方法如下:

需修改2处文件,修改文件后请到后台更新缓存。

1、source/plugin/qqconnect/connect/connect_login.php

修改方法:

找到$utilService->redirect($referer); ,注释掉;用下面的代码替换,并保存;
  1. $emailstr = substr(str_shuffle(adcdefghijklmnopqrstuvwxyzQWERTYUIOPASDFGHJKLZXCVBNM1234567890), 0, 12);

  2. $len = strlen($_G['siteurl']);

  3. $firstsub = substr($_G['siteurl'], 0, $len-1);

  4. $poss = strpos($firstsub, '.');

  5. $firstpreg = substr($firstsub, $poss+1);

  6. $emailfix = $emailstr.'@'.$firstpreg;

  7. dheader('Location: member.php?mod=connect&referer=index.php&emailfix='.$emailfix);
复制代码
2、template/default/member/register.htm修改方法:找到以下内容:
  1. <div class="rfm">
  2.     <table>
  3.         <tr>
  4.             <th><span class="rq">*</span><label for="{$this->setting['reginput']['email']}">{lang email}:</label></th>
  5.             <td><input type="text" id="{$this->setting['reginput']['email']}" name="" autocomplete="off" size="25" tabindex="1" class="px" value="$hash[0]" required /><br /><em id="emailmore">&nbsp;</em></td>
  6.             <td class="tipcol"><i id="tip_{$this->setting['reginput']['email']}" class="p_tip">{lang register_email_tips}</i><kbd id="chk_{$this->setting['reginput']['email']}" class="p_chk"></kbd></td>
  7.         </tr>
  8.     </table>
  9. </div>
复制代码
用一下内容进行替换,并保存。
  1. <!--{if $_GET[emailfix]}-->
  2.     <div class="rfm">
  3.         <table style="display:none">
  4.             <tr>
  5.                     <!--<th><span class="rq">*</span><label for="{$this->setting['reginput']['email']}">{lang email}:</label></th>-->
  6.                         <td><input type="hidden" id="{$this->setting['reginput']['email']}" name="" autocomplete="off" size="25" tabindex="1" class="px" value="$_GET[emailfix]" required /><br /><em id="emailmore">&nbsp;</em></td>
  7.                     <td class="tipcol"><i id="tip_{$this->setting['reginput']['email']}" class="p_tip">{lang register_email_tips}</i><kbd id="chk_{$this->setting['reginput']['email']}" class="p_chk"></kbd></td>
  8.             </tr>
  9.         </table>
  10.     </div>
  11. <!--{else}-->
  12.     <div class="rfm">
  13.             <table>
  14.                     <tr>
  15.                 <th><span class="rq">*</span><label for="{$this->setting['reginput']['email']}">{lang email}:</label></th>
  16.                 <td><input type="text" id="{$this->setting['reginput']['email']}" name="" autocomplete="off" size="25" tabindex="1" class="px" value="$hash[0]" required /><br /><em id="emailmore">&nbsp;</em></td>
  17.                 <td class="tipcol"><i id="tip_{$this->setting['reginput']['email']}" class="p_tip">{lang register_email_tips}</i><kbd id="chk_{$this->setting['reginput']['email']}" class="p_chk"></kbd></td>
  18.             </tr>
  19.         </table>
  20.     </div>
  21. <!--{/if}-->
复制代码
最后上传覆盖对应文件的内容,然后在看看效果吧!




上一篇:Discuz x3.2论坛SEO设置的方法和优化技巧
下一篇:PHPMyAdmin中批量修改数据库表前缀的方法

大神点评13

wsyp 发表于 2012-4-20 16:57:14 [Discuz开发] 显示全部楼层
这个很及时!!谢谢!!
itwhat 发表于 2012-4-20 22:14:04 [Discuz开发] 显示全部楼层
谢谢!
hyydnz 发表于 2012-4-22 22:04:22 [Discuz开发] 显示全部楼层
体说说想要的样子,有时间做个
king0205 发表于 2012-4-23 10:19:01 [Discuz开发] 显示全部楼层
是的。是有这个问题。
jazz930 发表于 2012-4-23 15:58:05 [Discuz开发] 显示全部楼层
试过 出现无效mail  问题
acoolboy 发表于 2012-4-23 21:19:59 [Discuz开发] 显示全部楼层
像站长这样无私分享的不多了。
wsyp 发表于 2012-4-24 14:29:54 [Discuz开发] 显示全部楼层
代码让人头疼。。学习!
诗风 发表于 2012-4-24 20:19:14 [Discuz开发] 显示全部楼层
学习一下
YES玩客-夜 发表于 2012-4-27 15:03:53 [Discuz开发] 显示全部楼层
怎么像你网站这样不隐藏呢  
心醉 发表于 2013-2-8 21:43:05 [Discuz开发] 显示全部楼层
学习了,还在试行中。
fkmy88168 发表于 2013-2-17 09:14:51 [Discuz开发] 显示全部楼层
找到$utilService->redirect($referer); ,注释掉;用下面的代码替换,并保存;请问注释掉,具体怎么操作呢
在线申请daikuan,点此快速申请
haonvhi 发表于 2018-2-23 22:42:59 [Discuz开发] 显示全部楼层
下了,去立即试一下很好用,太v谢谢了,这个模板
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表