Discuz3.2 24小时发帖new
大家好,有一个需求想请教一下,应该如何实现今天一个版主问我,能否做到 24小时之内发表的帖子后面加一个 新帖 的标签
我看了一下,Discuz3.2 默认发帖或者回复后会带有一个new的标签,但是这个new的标签,刷新一下网页之后就没有了,而且回复一下就会出现new,这个感觉不太好,没有达到新帖的目的
请教一下能否实现成 24小时之内发表的帖子后面加一个 新帖 的标签?应该如何操作,还请大神们赐教,感谢。 http://www.discuz.net/forum.php? ... ight=new&page=1,http://www.discuz.net/thread-1500622-1-1.html,试着按照这两个方法操作,发现里面的命令都只适用于老版本discuz,3.2里面已经找不到了 1、你找的这些,都跟new标志关系不大。
2、查看了一下这个new标志出现的条件,居然判断得非常复杂,包括这几方面:
一、如果是本周发的新帖,但这句代码的变量赋值在之后,所以这句代码无效(哈哈,系统漏洞!)。
二、如果是普通主题且未点击过,而且是本周发布的新帖。
三、如果是普通主题且最后回帖时间之前你没点击过它,而且是本周发布的新帖。
所以,你一点击,就不显示了,而回个新帖,就又显示了,哈哈,好搞笑,我之前没检查代码居然还没发现这个问题。
要达到你想所说的24小时内发的新帖一直有new标志很容易,做两步:
1、/source/module/forum/forum_forumdisplay.php文件,找到默认的有漏洞的这句代码:
$thread['weeknew'] = TIMESTAMP - 604800 <= $thread['dbdateline'];复制代码
不用管它,在之下添加一句新代码:
$thread['new'] = TIMESTAMP - 86400 <= $thread['dateline'];复制代码
2、在模板文件/template/default/forum/forumdisplay_list.htm中,把默认的
<!--{if $thread['weeknew']}-->复制代码
这个变量替换为
<!--{if $thread['new']}-->复制代码
更新缓存就OK了。
哈哈,太搞笑了这个系统判断 格东站长网插件 发表于 2016-12-23 22:33
1、你找的这些,都跟new标志关系不大。
2、查看了一下这个new标志出现的条件,居然判断得非常复杂,包括这 ...
太感谢您了! 实际测试已生效
1.解决了点击之后或刷新后没有new的问题
2.解决了老贴被回复显示New的问题 wzde2040 发表于 2016-12-24 13:22
实际测试已生效
1.解决了点击之后或刷新后没有new的问题
当然啦,从源头上针对性解决的,肯定再不会有任何毛病了
页:
[1]