Discuz! X2**浏览记录

时间:2016.04.18 发布人:xskjdh

Discuz! X2**浏览记录

已解决问题

谷歌xskjdh用户在2016.04.18提交了关于“醪糟Discuz! X2**浏览记录”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-09-14T06:43:44。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,滴水之恩,来日我当涌泉相报 !

希望以下的回答,能够帮助你。

第1个回答

用户名:ar来自gghko  

Discuz!X在后台可以设置记录浏览过的**,这样当我们找刚浏览问答过的**时就会方便很厚直演加混的手石案另件多。
后台开启方法:进入后台->界面->界面设置->**内容页,里面有一个设置项:显示最近访问**数量
如果规航杂渐余轻起值曾刘这里设置了数字,那么会记录我们浏览过**的信息,设置为0则表示不启用该功能。

这里开启后,我们在浏览的**的时候,会做记录,具体的代码是在/source/mo**le/forum切向二/forum_viewthread.php,打开这你个文件,
看到代码

$oldthreads=viewthread_oldtopics(!$a发倍更王增婷笑义吗rchiveid?$_G['tid']:0);复制代码

这里执行了函数viewthread_oldtopics函数,对当前浏览的主散伤众先议深末转括头克题做了记录,这个函数就在这个文件得下面,代码如下:

functionviewthread_oldtopic止育侵双s($tid=0){global$_G;$oldthreads=array();$oldtopics=isset($雷亲杀_G['cookie']['oldtopics'])?$_G['cookie']['oldtopics']:'D';if($_G['setting']['visitedthreads']){$oldtids=array_slice(explode('D',$oldtopics),0,$_G['setting']['visitedthreads']);$oldtidsnew=array();foreach($ol早石这演制密观深dtidsas$oldtid){$者紧改善的委施民主两oldtid&&$oldtidsnew[]=$oldtid;}if($oldtidsnew){$query=DB::query("**LECTtid,subjectFROM".DB::tabl血会育承电可统距之e('forum_thread')."Wh**EREtidIN(".dimplode($器雨oldtidsnew).")");while($ol理号图变护县鲁dthread=DB::fetch($query)){$oldthreads[$oldthread['tid']]=$oldthread['subject'];}}array_unshift($oldtidsnew,$tid);d干滑象积说妈比哥究setcookie境剂航鱼若触('oldtopics',implode('D',array_slice($oldtidsnew,0,$_G['setting呼量善续什天']['visite或类转烈书台妒四按齐dthreads'])),0);;}if($_G['member']['lastvisit']<$_G['forum_thread']['lastpost']&&(!isset($_G['cookie']['fid'.$_G['fid']])||$_G['forum_thread']['lastpost']>$_G['cookie']['fid'.$_G['fid']])){dsetcookie('fid'.$_G['fid'],$_G['forum_thread']['lastpost'],0);}return$oldthreads;}复制代码

这个函数首先判断如果开启了记录浏览记录的话,则把当前浏览的**记录存到当前的cookie中,然后返回给

变量

$oldthreads。

在**显示的模板页面/template/default/forum/view_thread.htm

下面有代码:

<!--{if($_G['setting']['visitedforums']||$oldthreads)&&$_G['forum']['status']!=3}--><divid="visitedforums_me**"class="{if$oldthreads}visited_w{/if}p_popblkcl"style="display:none;"><tablecellspacing="0"cellpadding="0"><tr><!--{if$oldthreads}--><tdid="v_threads"><h3class="mbnpbnbbdaxg1">{langviewd_threads}</h3><ulclass="xlxl1"><!--{loop$oldthreads$oldtid$oldsubject}--><li><ahref="forum.php?mod=viewthread&tid=$oldtid">$oldsubject</a></li><!--{/loop}--></ul></td><!--{/if}--><!--{if$_G['setting']['visitedforums']}--><tdid="v_forums"><h3class="mbnpbnbbdaxg1">{langviewed_forums}</h3><ulclass="xlxl1">$_G['setting']['visitedforums']</ul></td><!--{/if}--></tr></table></div><!--{/if}-->复制代码

这里处理把Ph**P得到的变量放到页面中,然后默认是隐藏的,当鼠标放到**列表页的返回时,触发JS代码showme**,同时将隐藏的浏览记录在这个位置显示,从而显示出自己的浏览记录。。