立即注册 登录
彼岸网 返回首页

小时候很迷茫的个人空间 http://www.bian-wang.com/discuz/?10673 [收藏] [复制] [分享] [RSS]

日志

discuz昵称修改及其判断条件添加

热度 3已有 1463 次阅读2016-1-10 11:45 PM |系统分类:十万个怎么办

插件链接:http: / / pan.baidu.com / s / 1jHovHHG  密码:4qrz  (去除链接多余空格)
1.关于插件的安装就不多说了(百度一下你就知道)
根据插件链接下载插件并将文件夹解压到 /source/plugin 目录下面,然后到后台完成插件的安装

2.后台设置:(第二步适合做UC同步的朋友,没有做站点同步的跳过此步骤)
后台---UCenter---应用管理----编辑需要通信的站点----是否开启同步登录----是
后台---站长---UCenter 设置---是否允许其他应用的会员在站点激活---是-----是否允许直接激活-----是

3. /template/default/common/footer.htm文件底部添加: //以下判断在需要限制的模板页面添加,由于所需不一样,所以我就直接放文件底部了,这一步需慎重,底部是所有页面的判断,并不适合所有的朋友
如:
1.论坛首页添加判断加在/template/default/forum/discuz.htm底部或者头部
2.门户首页添加判断 /template/default/portal/index.htm 底部或者头部
.................. 至于怎么搭配怎么限制就看大家自己操作了,这个地方就不多做说明了
代码如下(可根据自己所需进行修改):
<!--{if $_G['uid'] && !$_G[member][nickname]}--> //uid判断是否登录,nickname这个是昵称字段
<script>
alert('请先设置昵称再进行操作'); //提示语可以自行修改
location.assign('/home.php?mod=spacecp&ac=plugin&id=qqy_ltnc:plugin'); //弹窗结束之后跳转的链接,这个自己修改。因为我做的是外部链接,所以就没有将相关的一些文件打包,至于功能都是完整的
//return false;  
</script>
<!--{/if}-->

4./template/default/common/header_userstatus.htm文件头部添加昵称判断条件: //该步骤可有可无,主要是习惯使然,所以也贴出来
将 <!--{if $_G['uid']}-->
改为
<!--{if $_G['uid'] && $_G[member][nickname]}-->

5./source/plugin/qqy_ltnc/plugin.inc.php //这段代码是原先作者的,由于我并不需要所以全部注释了,大家看需求去除注释即可

对应的功能如下图:


下面上测试图片:

点击确认之后跳转页面(这个页面可以根据个人需要进行添加):


补充:

由于我用的是外部文件测试,所以用到了以下文件

1.根目录创建nick.php文件

<?php

require './source/class/class_core.php';//引入系统核心文件

    $discuz = & discuz_core::instance();//以下代码为创建及初始化对象

    $discuz->cachelist = $cachelist;

    $discuz->init();

    include template('forum/nick');//调用单页模版文件

    ?>

2.template/default/forum目录下面新建nick.htm模板文件

<!--{if !$_G['uid']}-->


<script>

alert('无法访问的链接');

location.assign('http://bbs.com');

//return false;  

</script>


<!--{/if}-->


<!--{if $_G[member][nickname]}-->

<script>

alert('不能重复设置昵称');

location.assign('http://bbs.com');

//return false;  

</script>


<!--{/if}-->

<!--{if $charset=='gbk'}-->

<script type="text/javascript" src="source/plugin/qqy_ltnc/input_gbk.js"></script>

<!--{else}-->

<script type="text/javascript" src="source/plugin/qqy_ltnc/input_utf.js"></script>

<!--{/if}-->

<!--{if $error==1}-->

<div class="qqy_setname cl">

<p>{lang qqy_ltnc:jzsy}</p>

</div>

<!--{elseif $error_credit}-->


<div class="qqy_setname cl">

<p class="color_warning">{lang qqy_ltnc:bqnd}$_G['setting']['extcredits'][$credit][title]{lang qqy_ltnc:notenough}</p>

{lang qqy_ltnc:need}$_G['setting']['extcredits'][$credit][title]: $credits<span class="plugin_pipe">|</span>

{lang qqy_ltnc:now}$_G['setting']['extcredits'][$credit][title]{lang qqy_ltnc:nowis}$user_credit

</div>

<!--{elseif $is_sets}-->

<div class="qqy_setname cl">

<p>{lang qqy_ltnc:haveset}<em class="xw1">$uidname</em></p>

</div>

<!--{elseif $error_exist}-->

<div class="qqy_setname cl">

<p class="color_warning">{lang qqy_ltnc:beused}</p>

<form action="home.php?mod=spacecp&ac=plugin&id=qqy_ltnc:plugin&action=submit" method="post" onsubmit="return chkFromAll(this);">

<p>{lang qqy_ltnc:setname}<input type="text" name="nicheng" tabindex="1" id="username" onBlur="verifyInput(this);" onchange="showCustomer(this.value);" autocomplete="off" size="25" ii_minsize="4" ii_maxsize="14" ii_type="ID3" ii_null="NO" ii_chname="{lang qqy_ltnc:nameis}" class="px" /><span id="txtHint">{lang qqy_ltnc:startset}</span></p>

<p><em class="qqy_hide">{lang qqy_ltnc:setname}</em><input type="submit" class="pn pnc submit"  value="{lang qqy_ltnc:submit}" /></p>

</form>

</div>

<!--{elseif !$success && $_GET['action']!='success'}-->

<div class="qqy_setname cl">

<form action="home.php?mod=spacecp&ac=plugin&id=qqy_ltnc:plugin&action=submit" method="post" name="feedback" onsubmit="return chkFromAll(this);">


<!--{if $credits}--><p>{lang qqy_ltnc:needcost} $_G['setting']['extcredits'][$credit][title]: $credits</p><!--{/if}-->

<p><em>{lang qqy_ltnc:setname}</em><input type="text" name="nicheng" tabindex="1" id="username" onBlur="verifyInput(this);" onchange="showCustomer(this.value)" autocomplete="off" size="25" ii_minsize="4" ii_maxsize="14" ii_type="ID3" ii_null="NO" ii_chname="{lang qqy_ltnc:submit}" class="px" /><span id="txtHint">{lang qqy_ltnc:startset}</span></p>


<p><em class="qqy_hide"></em><input type="submit" class="pn pnc submit"  value="{lang qqy_ltnc:submit}" /> </p>


</form>


</div>


<!--{elseif $_GET['action']=='success'}-->

<div class="qqy_setname cl">

<p>{lang qqy_ltnc:successed}$nicheng   $_G[member][username]  <a class="color_369" href="home.php?mod=spacecp&ac=plugin&id=qqy_ltnc:plugin" >({lang qqy_ltnc:alter})</a></p>


</div>

<!--{/if}-->


该教程是由于部分朋友提出询问,正好目前自己项目也在做同步这块,所以就整理一下发了出来,如果有不足或者其他方面的bug问题也请大家多多包涵,如有更好的意见可以评论说明,待后面有时间会进行改进

献给那些曾经如我一样探索discuz小白,希望对大家有帮助

发表评论 评论 (6 个评论)

回复 carry0987 2018-6-22 10:31 AM
小时候很迷茫: 昵称其实跟用户名是一个道理,但是用户名可以用于登录,而昵称不能用于登录的,而当整合完之后在两个站点的昵称同步上面如果用用户名来做的话可能会导致discuz出 ...
那麼....恕新手請教一下,究竟昵称是幹什麼的?如果說要使兩個站點結合,而昵称又無法用於登陸,那麼可以理解成一個用戶的標記嗎?表示此用戶在各個站點的身份?
回复 kkk 2018-6-22 04:56 AM
你好,我这边有个修改昵称的任务,正好看到你这个,有点问题方便请教你么?
回复 小时候很迷茫 2016-1-27 09:29 PM
天香公主: 嗯,插件用起来的确方便。不过你没回答我昵称的作用是不是和用户名类似。如果类似的话,似乎不必另外引入昵称的概念,直接修改用户名就行了。应用中心里就有修改 ...
昵称其实跟用户名是一个道理,但是用户名可以用于登录,而昵称不能用于登录的,而当整合完之后在两个站点的昵称同步上面如果用用户名来做的话可能会导致discuz出现限制问题,修改用户名的插件最近也使用了一些,但是不符合所需所求
回复 天香公主 2016-1-11 11:07 PM
小时候很迷茫: 是的,是一个添加昵称的插件。以前在论坛看到过发帖,然后最近也是因为有部分朋友提出这个问题所以就研究了一下,因为我关闭了论坛的注册登录,整合了UC利用的另 ...
嗯,插件用起来的确方便。不过你没回答我昵称的作用是不是和用户名类似。如果类似的话,似乎不必另外引入昵称的概念,直接修改用户名就行了。应用中心里就有修改用户名的插件 http://addon.discuz.com/?@k_gaiming.plugin.26546。也许你在搞整合,和我考虑的角度不同?
回复 小时候很迷茫 2016-1-11 10:45 PM
天香公主: 是个添加昵称的插件吧。昵称的作用和用户名有何不同呢?如果是因为在Discuz里用户不能更改用户名的缘由,或许亦可考虑修改代码来允许用户更改用户名(我不久前看 ...
是的,是一个添加昵称的插件。以前在论坛看到过发帖,然后最近也是因为有部分朋友提出这个问题所以就研究了一下,因为我关闭了论坛的注册登录,整合了UC利用的另外一个网站进行登录。所以在方法上有所出入,主要认识的部分朋友都看不懂代码,所以也就舍近求远的去寻找了一个插件来修改了,将步骤简洁很多。不然一个一个帮他们去修改也挺麻烦的,毕竟有些朋友是2.5-3.2不等的论坛,不如找个插件研究来的实在,而且也省却了很多找源码的时间
回复 天香公主 2016-1-11 07:57 AM
是个添加昵称的插件吧。昵称的作用和用户名有何不同呢?如果是因为在Discuz里用户不能更改用户名的缘由,或许亦可考虑修改代码来允许用户更改用户名(我不久前看到过有Discuz网站这么做)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

小黑屋|Archiver|彼岸网  

Powered by Discuz! X3.1 © 2001-2014 Comsenz Inc.
GMT-4, 2018-9-22 02:47 PM , Processed in 0.048452 second(s), 8 queries. ,ApcOn

返回顶部