A、打开include/common.inc.php
1、找到:$membertablefields = 'm.uid
在上面加:$otherfields = ',mf.nickname';
2、找到:$query = $db->query("SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, s.pageviews AS spageviews, s.lastolupdate,婚纱照姿势, s.seccode, $membertablefields
FROM {$tablepre}sessions s, {$tablepre}members m
WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,张杰与谢娜的婚纱照,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid'
AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");
替换成:$query = $db->query("SELECT s.sid,维纳斯婚纱照价格, s.styleid, s.groupid='6' AS ipbanned,长沙拍艺术照, s.pageviews AS spageviews, s.lastolupdate, s.seccode, $membertablefields $otherfields
FROM {$tablepre}sessions s, {$tablepre}members m,{$tablepre}memberfields mf
WHERE m.uid=s.uid AND s.sid='$sid' AND CONCAT_WS('.',s.ip1,婚纱照那家好,s.ip2,s.ip3,s.ip4)='$onlineip' AND m.uid='$discuz_uid' AND m.uid=mf.uid
AND m.password='$discuz_pw' AND m.secques='$discuz_secques'");
说明:其实就是连接{$tablepre}memberfields表显示nickname
下边的修改就是使得头部和底部里可以显示昵称或者用户名。优先昵称显示
但是这样做是否会引起其他问题,未作验证。
找到:$discuz_userss = $discuz_user;
$discuz_user = addslashes($discuz_user);
替换成:if(!empty($nickname)){
$discuz_userss = $nickname;
$discuz_user = addslashes($nickname);
}else{
$discuz_userss = $discuz_user;
$discuz_user = addslashes($discuz_user);
}
B、根目录 forumdisplay.php 文件
修改forumdisplay.php
if(($start_limit && $start_limit > $stickycount) || !$stickycount || $filterbool) {
$querysticky = '';
$query = $db->query("SELECT t.* , mf.nickname FROM {$tablepre}threads t
LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
WHERE t.fid='$fid' $filteradd AND $displayorderadd
ORDER BY t.displayorder DESC, t.$orderby $ascdesc
LIMIT ".($filterbool ? $start_limit : $start_limit - $stickycount).", $tpp");
} else {
$querysticky = $db->query("SELECT t.* , mf.nickname FROM {$tablepre}threads t
LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
WHERE t.tid IN ($stickytids) AND t.displayorder IN (2, 3)
ORDER BY displayorder DESC, $orderby $ascdesc
LIMIT $start_limit, ".($stickycount - $start_limit < $tpp ? $stickycount - $start_limit : $tpp));
if($tpp - $stickycount + $start_limit > 0) {
$query = $db->query("SELECT t.* , mf.nickname FROM {$tablepre}threads t
LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
WHERE t.fid='$fid' $filteradd AND $displayorderadd
ORDER BY displayorder DESC, $orderby $ascdesc
LIMIT ".($tpp - $stickycount + $start_limit));
} else {
$query = '';
}
}
改的目的是让 $thread['nickname'] 提取到昵称值,在需要用昵称值的地方可以调用.
1、 templates/default里viewthread_node.htm 文件
查找
<a href="space.php?uid=$post[authorid]" class="posterlink" target="_blank">$post[author]</a>
把$post[author]替换为
<!--{if empty($post[nickname])}-->$post[author]<!--{else}-->$post[nickname]<!--{/if}-->
效果是这里变昵称(没有昵称则显示用户名)
2、templates/default里viewthread_node.htm 文件
查找
<a href="space.php?uid=$post[authorid]" target="_blank">$post[author]</a>
替换
<a href="space.php?uid=$post[authorid]" target="_blank"><!--{eval echo cutstr($post[author],4,'***');}--></a>
效果是隐藏玩家账号
由于原来也有昵称显示所以可去掉其中一个。
3、templates/default里viewthread_node.htm 文件
...改完效果是--左边头像下显示昵称;也可以改到头像上显示昵称。代码放的位置改改就好。
!!!无昵称则不显示。
查找
<p><em><a href="faq.php?action=grouppermission&searchgroupid={$post[groupid]}" target="_blank">{$post[authortitle]}</a></em></p>
在上边加
<!--昵称显示-->
<!--{if $post['nickname']}--><p>{lang nickname}: <a href="space.php?uid=$post[authorid]" target="_blank"><em>$post[nickname]</em></a></p><!--{/if}-->
4、
templates/default里forumdisplay.htm文件
找:
<a href="space.php?uid=$thread[authorid]">$thread[author]</a>
$thread[author]换成:
<!--{if empty($thread[nickname])}--> $thread[author]<!--{else}-->$thread[nickname]<!--{/if}-->
效果是帖子列表 作者 换成昵称显示
5. 隐藏用户账号显示,修改模板文件./template/default/viewpro_classic.htm
查找
<h1>$member[username]<!--{if $member[online]}--> <img src="{IMGDIR}/online_buddy.gif" title="{lang online}" class="online_buddy" /><!--{/if}--></h1>
把$member[username]
替换成
<!--{eval echo cutstr($member[username],4,'***');}-->
还有这里
根 forumdisplay.php文件
查找
$thread['lastposterenc'] = rawurlencode($thread['lastposter']);
在下边加
$mysql="select nickname from ({$tablepre}members m inner join {$tablepre}memberfields mf on m.uid=mf.uid) inner join {$tablepre}threads t
on m.username=t.lastposter
where t.lastposter='$thread[lastposter]'";
$res=$sdb->query($mysql);
while($my=$sdb->fetch_array($res)){
$thread['lastposter_nickname']=$my['nickname'];
}
模板调用为:$thread['lastposter_nickname']
templates/default里forumdisplay.htm文件
查找<PRE>$thread[lastposter]</a><!--{else}-->{lang anonymous}<!--{/if}--></cite></PRE>
改为以下(去掉了<PRE>否则对样式有影响)
<!--{if empty($thread[lastposter_nickname])}-->$thread[lastposter]
<!--{else}-->$thread[lastposter_nickname]<!--{/if}-->
</a><!--{else}-->{lang anonymous}<,婚纱摄影加盟!--{/if}--></cite>
目的是屏蔽超链接。因为这里换了昵称会传递错误。
在Include/forum.func.php
查找
$lastpost['author'] = '<a href="space.php?username='.rawurlencode($lastpost['author']).'">
'.$lastpost['author'].'</a>';
替换为
$lastpost['author'] = '<lable>'.$lastpost['author'].'</lable>';
这是主页里的。
目的是屏蔽超链接。因为这里换了昵称会传递错误。