让Discuz X3.4的帖子主题回帖全部倒序排列

[复制链接]
查看4133 | 回复1 | 2012-9-16 20:53:06 | 显示全部楼层 |阅读模式
<
1.请先修改  /template/default/forum/post_editor_attribute.htm,大约在31行,把
  1. <label for="ordertype"><input type="checkbox" name="ordertype" id="ordertype" class="pc" value="1" <font style="background-color:rgb(247, 247, 247)">$ordertypecheck</font> />{lang post_descviewdefault}</label>
复制代码

修改成

  1. <label for="ordertype"><input type="checkbox" name="ordertype" id="ordertype" class="pc" value="1" checked="checked" />{lang post_descviewdefault}</label>
复制代码

也即是把 $ordertypecheck 修改成  checked="checked" 原理就是发新帖子的时候,默认选中 倒序排列回帖,官方的默认是不选中。修改后请进后台更新缓存即可生效。

新帖子的倒序排列解决了,下面就轮到旧帖子了。

2.升级数据库
首先需要将 config/config_global.php 当中的 $_config[admincp][runquery] 设置修改为 1。
然后在discuz后台——站长——数据库——升级中执行以下SQL语句
  1. UPDATE pre_forum_thread SET status=10 WHERE status=2 ;
  2. UPDATE pre_forum_thread SET status=40 WHERE status=32 ;
  3. UPDATE pre_forum_thread SET status=42 WHERE status=34 ;
复制代码

其中  status 值 规律 如下

  • 仅 回帖仅作者可见 为 2
  • 仅 倒序 排列 为 8
  • 仅 回复通知为 32
  • 回帖仅作者可见+倒序=(2+8=10)
  • 回帖仅作者可见+回复通知=(2+32=34)
  • 倒序+回复通知=(8+32=40)
  • 回帖仅作者可见+倒序+回复通知=(2+8+32=42)


Discuz! X3.4   forum_thread 的 status 字段(二进制位存储,对应十进制值为 #D 后的值,存储在数据库中)
二进制数值十进制数值含义
#B 0000 0000 0000 0001
#D 1
是否缓存帖子位置信息
#B 0000 0000 0000 0010
#D 2
是否回帖只对管理人员和发帖者可见
#B 0000 0000 0000 0100
#D 4     
是否抢楼贴
#B 0000 0000 0000 1000         
#D 8
是否倒序查看回帖
#B 0000 0000 0001 0000         
#D 16
是否存在主题图章标志位
#B 0000 0000 0010 0000         
#D 32回复是否通知作者
#B 0000 0000 0100 0000         
#D 64是否推送到QQ空间
#B 0000 0000 1000 0000        
#D 128是否推送到腾讯微博




热帖推荐
梦之水 | 2012-10-4 08:17:00 | 显示全部楼层
吸合与释放动作慢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则