Discuz! X5.0 正式版于2026-03-20发布,今天再度升级论坛程序至 Discuz! X5.0
目前还是使用以前的模板,所以界面上没有明显变化!
请大家统一在这里反馈问题,不要另开帖子!
目前存在的问题:
无
以下问题,已解决!
*** 帖子列表页中,如有被移动过的帖子标记帖,会报错(程序BUG,已修复)
*** 电脑版可以使用键盘的左右箭头来翻页
*** 手机版:板块列表 + 帖子内部分页,下拉菜单中,选第2页时,会跳转到首页:(程序BUG,已修复)
*** 手机版下方导航栏发布图标显示异常(已正常)
*** 手机版"我的"模块中,缺少我的回复(已添加)
*** 手机底部导航栏重复出现:在后台删除多余的即可!(已修复)
*** 手机版 我的 -> 消息提醒,提示"抱歉,私信功能尚未开启":(已开启)
*** 用户取回密码时,在收到邮件后,点确认链接,输入两次密码后,报错;论坛后台搜索用户的存档表,也是报错:(程序的BUG,已修复)
原因:
1.论坛开启了会员数据归档(旧会员自动移到 common_member_archive 表)
2.官方升级包的BUG,升级时只给主表 common_member 加了 loginname 字段
附:安装文件中 install/sql/sql_upgrade_3.5.php 截图
3.没给存档表 common_member_archive 加 loginname 字段
4.找回密码 / 验证用户时,程序同时查主表 + 存档表,一查存档表就报错
解决办法:
- -- 给会员存档表添加缺失的 loginname 字段
- ALTER TABLE pre_common_member_archive
- ADD COLUMN loginname VARCHAR(40) NOT NULL DEFAULT '' AFTER username;
- -- 把存档表里的loginname 赋值为用户名(避免以后重复冲突)
- UPDATE pre_common_member_archive
- SET loginname = username;
- -- 给存档表加上索引(提升查询速度)
- ALTER TABLE pre_common_member_archive
- ADD INDEX loginname (loginname);
复制代码 -----------------------
手机版无"我的回复"修改方法:
1. 修改 template/default/touch/home/space_profile.php
找到 - <div class="myinfo_list_ico cl">
- <ul>
- <!--{if helper_access::check_module('forum')}-->
- <li><a href="home.php?mod=space&uid={$space['uid']}&do=thread<!--{if $_G['uid'] == $space['uid']}-->&view=me<!--{/if}-->"><i class="dm-chat-s-fill"></i><!--{if $_G['uid'] == $space['uid']}-->{lang mythread}<!--{else}-->{lang mobta}{lang mobthread}<!--{/if}--></a></li>
复制代码添加 - <li><a href="home.php?mod=space&uid={$space['uid']}&do=thread&type=reply<!--{if $_G['uid'] == $space['uid']}-->&view=me<!--{/if}-->&mobile=2"><i class="dm-chat-s-fill"></i><!--{if $_G['uid'] == $space['uid']}-->我的回复<!--{else}-->TA的回复<!--{/if}--></a></li>
复制代码
2.后台 工具 > 更新缓存
-----------------
修复第2页跳转错误代码,加入 后台 > 全局 > 站点信息 > 网站第三方统计代码:
- 手机版第2页跳转BUG修复
- <script>
- // 修复Discuz手机版下拉分页(兼容板块列表 + 帖子内容页)
- document.addEventListener('DOMContentLoaded', function() {
- const dumpPage = document.getElementById('dumppage');
- if (!dumpPage) return;
- dumpPage.onchange = function() {
- const urlParams = new URLSearchParams(window.location.search);
- const page = this.value;
- const mobile = urlParams.get('mobile') || '2';
- const mod = urlParams.get('mod');
- let targetUrl = '';
- // 1. 帖子内容页 viewthread.php (带tid参数)
- if (mod === 'viewthread' || urlParams.get('tid')) {
- const tid = urlParams.get('tid');
- targetUrl = `https://bbs.wuyou.net/forum.php?mod=viewthread&tid=${tid}&page=${page}&mobile=${mobile}`;
- }
- // 2. 板块列表页 forumdisplay.php (带fid参数)
- else if (mod === 'forumdisplay' || urlParams.get('fid')) {
- const fid = urlParams.get('fid');
- targetUrl = `https://bbs.wuyou.net/forum.php?mod=forumdisplay&fid=${fid}&page=${page}&mobile=${mobile}`;
- }
- // 执行跳转
- if (targetUrl) {
- window.location.href = targetUrl;
- }
- };
- });
- </script>
复制代码
--------------------------
增加用键盘左右箭头翻页
修改 template/default/common/footer.php
在尾部</body>前增加
- <script type="text/javascript">
- document.onkeydown = function(e) {
- var t = e.srcElement || e.target;
- if (t.tagName && t.tagName.match(/input|textarea/i)) return;
- // 自动从 URL 获取当前页码
- var url = location.href;
- var page = 1;
- var pageMatch = url.match(/page=(\d+)/);
- if (pageMatch) page = parseInt(pageMatch[1]);
- var baseUrl = url.split(/[?&]page=\d+/)[0];
- var queryStr = url.indexOf('?') > -1 ? '&' : '?';
- // 左箭头 = 上一页
- if (e.keyCode == 37 && page > 1) {
- location.href = baseUrl + queryStr + 'page=' + (page - 1);
- }
- // 右箭头 = 下一页(沿用页面里的下一页链接,最稳)
- if (e.keyCode == 39) {
- var as = document.getElementsByTagName('a');
- for (var i = 0; i < as.length; i++) {
- if (as[i].innerHTML.indexOf('下一页') > -1) {
- location.href = as[i].href;
- break;
- }
- }
- }
- };
- </script>
复制代码
后台>工具 > 更新缓存
--------------------
凡是有被标记移动的帖子,出现在哪一列表页中,这一页就会出错。
修复方法如下:
source/app/forum/module/forumdisplay.php
找到第770行
- $_G['forum_threadlist'][$index]['views'] += $value['addviews'];
复制代码
改为
- $_G['forum_threadlist'][$index]['views'] = intval($_G['forum_threadlist'][$index]['views']) + intval($value['addviews']);
复制代码
|