xiunobbs4.0.5阿乐版

左壮壮 9天前 121

捕获.PNG
捕获.PNG
更新记录:论坛首页 UI 与兼容性修复
更新日期:2026-05-25
一、更新概览
本次更新主要围绕论坛首页视觉改版、样式生效问题、模板缓存问题、页面宽度比例调整,以及 PHP 8 运行兼容性问题进行处理。
核心更新内容包括:
• 将论坛首页从原始列表布局改造成更接近现代社区动态流的三栏布局。
• 调整顶部导航栏为更清爽的浅色风格。
• 增加首页专属宽版容器,使大屏展示效果更接近参考图。
• 修复 CSS 文件因版本号固定导致浏览器缓存不更新的问题。
• 修复 Xiuno 模板编译缓存导致替换模板后页面无变化的问题。
• 修复 PHP 8 环境下旧函数和旧语法导致的致命错误。
• 增加帖子摘要输入、首页真实摘要展示、Markdown 编辑器和详情页 Markdown 渲染能力。
二、首页 UI 改版

  1. 首页模板重构
  2. 修改文件:
    • view/htm/index.htm
    主要调整:
    • 首页改为三栏结构:
    • 左侧:发帖入口、首页入口、论坛版块导航。
    • 中间:动态流标签、帖子卡片列表、分页区域。
    • 右侧:社区热点、用户排行、论坛统计信息。
    • 帖子列表不再直接使用默认列表样式,而是基于 $threadlist 自定义渲染为卡片式动态流。
    • 每个帖子卡片展示:
    • 用户头像。
    • 用户名。
    • 发布时间。
    • 所属版块。
    • 帖子标题。
    • 最后参与信息。
    • 浏览数、置顶状态、回复数。
    • 保留了版主管理选择框相关逻辑,并继续引入 thread_list_mod.inc.htm。
    • 增加悬浮发帖按钮,便于用户快速发布主题。
    • 保留 Xiuno 原有 hook 位置,方便后续插件继续扩展。

  3. 顶部导航栏调整
  4. 修改文件:
    • view/htm/header_nav.inc.htm
    主要调整:
    • 顶部导航栏改为浅色风格。
    • 为导航栏增加 bbs-topbar 类名,方便使用独立 CSS 控制样式。
    • 品牌区域增加站点名称展示,使顶部区域更接近现代社区产品的导航结构。
    三、CSS 样式更新
    修改文件:
    • view/css/bootstrap-bbs.css
    主要新增和调整的样式范围:
    • 页面整体背景色改为浅灰色,突出白色内容卡片层级。
    • 新增 .bbs-topbar 顶部导航样式。
    • 新增 .bbs-feed 首页布局样式。
    • 新增 .bbs-feed-grid 三栏网格布局。
    • 新增左侧导航、帖子卡片、右侧热点面板、排行面板、统计卡片等样式。
    • 增加响应式适配:
    • 中等屏幕下收窄左右栏。
    • 小屏幕下改为单栏展示。
    • 移动端隐藏部分侧边栏,保证主要内容优先展示。
    • 增加大屏专属尺寸优化,使页面在宽屏显示器上更舒展。
    大屏优化重点:
    • 首页最大宽度从原来的约 1060px 扩展到 1320px 至 1380px。
    • 左栏宽度扩大到约 210px 至 220px。
    • 右栏宽度扩大到约 285px 至 300px。
    • 卡片间距、圆角、头像、发帖按钮、预览区域尺寸同步放大。
    • 解决“参考图看起来更大,而当前页面偏小”的视觉比例问题。
    四、静态资源缓存修复
    修改文件:
    • view/htm/header.inc.htm
    问题原因:
    • 原项目加载 bootstrap-bbs.css 时使用固定版本号,例如 ?1.0。
    • 浏览器可能继续使用旧 CSS 缓存,导致替换文件后页面看起来没有变化。
    处理方式:
    • 将 bootstrap-bbs.css 的版本号改为基于文件修改时间生成。
    • CSS 文件更新后,链接参数会自动变化,浏览器会重新加载最新样式。
    相关逻辑:
    复制代码
    $bootstrap_bbs_version = is_file(APP_PATH.'view/css/bootstrap-bbs.css') ? '?'.filemtime(APP_PATH.'view/css/bootstrap-bbs.css') : $static_version;
    $bootstrap_bbs_css = !empty($bootstrap_bbs_css) ? $bootstrap_bbs_css : $conf['view_url']."css/bootstrap-bbs.css".$bootstrap_bbs_version;
    五、模板编译缓存修复
    修改文件:
    • model/plugin.func.php
    问题原因:
    • Xiuno 会将 .htm 模板编译到 tmp/ 目录。
    • 生产环境下,如果 DEBUG 为 0,模板源文件更新后,旧编译文件可能仍然被使用。
    • 这会导致替换 index.htm 后前台页面仍然没有变化。
    处理方式:
    • 在 _include() 函数中增加模板源文件修改时间判断。
    • 当源模板比已编译模板更新时,自动重新编译模板。
    相关逻辑:
    复制代码
    if(!is_file($tmpfile) || DEBUG > 1 || filemtime($srcfile) > filemtime($tmpfile)) {
    六、首页容器宽度调整
    修改文件:
    • view/htm/header.inc.htm
    • view/css/bootstrap-bbs.css
    主要调整:
    • 首页容器增加专属类名 bbs-feed-container。
    • 仅首页使用宽版布局,避免影响论坛其他页面。
    • 大屏状态下,首页容器和顶部导航容器统一扩展宽度。
    相关模板逻辑:
    复制代码
    <div class="container<?php echo $route == 'index' ? ' bbs-feed-container' : ''; ?>">
    七、PHP 8 兼容性修复

  5. 修复 get_magic_quotes_gpc() 致命错误
  6. 修改文件:
    • xiunophp/xiunophp.php
    • xiunophp/xiunophp.min.php
    问题原因:
    • get_magic_quotes_gpc() 在 PHP 8 中已被移除。
    • 原代码直接调用该函数,会导致安装或运行时报致命错误。
    处理方式:
    • 使用 function_exists() 判断函数是否存在。
    • 不存在时默认按未开启 magic quotes 处理。
    相关逻辑:
    复制代码
    $get_magic_quotes_gpc = function_exists('get_magic_quotes_gpc') ? get_magic_quotes_gpc() : 0;
    同时对 set_magic_quotes_runtime() 增加存在性判断,避免 PHP 新版本中调用不存在函数。

  7. 修复邮件库 magic quotes 兼容问题
  8. 修改文件:
    • xiunophp/xn_send_mail.func.php
    主要调整:
    • 对 get_magic_quotes_runtime() 增加 function_exists() 判断。
    • 对 set_magic_quotes_runtime() 增加版本和函数存在判断。
    • 修正 magic quotes 辅助函数的定义保护逻辑。
    • 避免在 PHP 8 环境下调用已移除函数。

  9. 修复大括号字符串偏移语法错误
  10. 修改文件:
    • xiunophp/xn_html_safe.func.php
    问题原因:
    • PHP 8 不再支持字符串或数组使用大括号偏移语法。
    • 原代码中存在类似写法:
    复制代码
    $this->rawtext{$this->position}
    处理方式:
    • 将相关写法改为 PHP 8 支持的中括号偏移语法。
    修复后写法:
    复制代码
    $this->rawtext[$this->position]
    八、帖子摘要与 Markdown 编辑器优化

  11. 首页真实帖子摘要
  12. 修改文件:
    • route/index.php
    • view/htm/index.htm
    • view/htm/post.htm
    • route/thread.php
    • route/post.php
    • model/thread.func.php
    • install/install.sql
    • tool/alter.sql
    主要调整:
    • 首页帖子卡片优先显示真实摘要内容。
    • 如果主题表存在 brief 字段,则优先读取手动摘要。
    • 如果没有手动摘要,则从首帖正文内容自动截取摘要。
    • 发帖和编辑首帖页面增加摘要输入区域。
    • 创建主题时支持保存摘要字段。
    • 编辑首帖时支持同步更新摘要字段。
    • 新安装数据库结构增加 brief 字段。
    • 旧数据库升级 SQL 增加 brief 字段添加语句。
    旧数据库需要执行:
    复制代码
    ALTER TABLE bbs_thread ADD COLUMN brief char(240) NOT NULL default '' after subject;

  13. Markdown 多功能编辑器
  14. 修改文件:
    • view/htm/post.htm
    • view/css/bootstrap-bbs.css
    • model/post.func.php
    主要调整:
    • 发帖和编辑帖子正文区域升级为 Markdown 编辑器。
    • 默认使用 doctype = 2 的 Markdown 内容类型。
    • 增加编辑器工具栏,支持标题、加粗、斜体、引用、列表、编号、代码、链接、图片、分割线和预览。
    • 增加实时预览区域,使编辑效果和最终显示更接近。
    • 优化预览按钮逻辑,点击后可在编辑模式和预览模式之间切换。
    • 移动端下预览区域按单栏方式展示。

  15. Markdown 后端渲染与详情页显示
  16. 修改文件:
    • model/post.func.php
    • view/htm/thread.htm
    • view/htm/post_list.inc.htm
    • view/css/bootstrap-bbs.css
    主要调整:
    • 增加 Markdown 后端解析能力。
    • 支持标题、加粗、斜体、行内代码、代码块、引用、无序列表、有序列表、链接和图片。
    • Markdown 内容渲染后继续经过安全过滤,避免危险 HTML 直接输出。
    • 帖子详情页首帖正文增加 Markdown 样式类。
    • 回复列表正文增加 Markdown 样式类。
    • 对旧帖子进行兼容识别:即使旧帖子不是 doctype = 2,只要内容符合 Markdown 特征,也会尝试按 Markdown 渲染。
    • 增强标题解析兼容性,支持标题前有空格、# 后无空格等情况。
    • 避免旧的 message_fmt 缓存内容影响详情页显示,详情页会根据原始正文重新判断和渲染 Markdown。
    九、首页真实数据与主题体验优化

  17. 用户排行真实数据源
  18. 修改文件:
    • route/index.php
    • view/htm/index.htm
    • view/css/bootstrap-bbs.css
    主要调整:
    • 首页右侧用户排行不再从当前帖子列表临时拼接用户信息。
    • 改为基于 bbs_user 用户表真实数据查询。
    • 增加活跃榜、贡献榜、财富榜三个维度:
    • 活跃榜按 posts、threads 排序。
    • 贡献榜按 threads、posts 排序。
    • 财富榜按 credits、golds、rmbs 排序。
    • 排除禁止用户组,避免无效账号进入排行。
    • 前端增加排行 Tab 切换逻辑。

  19. 热榜真实排序
  20. 修改文件:
    • route/index.php
    • view/htm/index.htm
    主要调整:
    • 首页 热榜 Tab 不再只对当前页帖子做前端或临时排序。
    • 改为直接从主题表按真实数据查询。
    • 排序优先级为:
    • views 浏览数倒序。
    • posts 回复数倒序。
    • lastpid 最近活跃倒序。
    • 右侧社区热点使用独立 $hot_threadlist 数据源,不再依赖当前页帖子列表。

  21. 暗色模式与主题切换
  22. 修改文件:
    • view/htm/header.inc.htm
    • view/htm/header_nav.inc.htm
    • view/htm/footer.inc.htm
    • view/css/bootstrap-bbs.css
    主要调整:
    • 顶部导航增加暗色模式切换按钮。
    • 使用 localStorage 保存用户主题选择。
    • 在页面 CSS 加载前提前给 <html> 添加 bbs-theme-dark,减少刷新闪白。
    • 适配顶部导航、首页三栏、帖子卡片、右侧卡片、表单、Markdown 编辑器、底部区域等主要 UI。
    • 暗色模式下保持卡片边框、背景、文字、链接和表单控件的对比度。

  23. 底部区域重构
  24. 修改文件:
    • view/htm/footer_nav.inc.htm
    • view/css/bootstrap-bbs.css
    主要调整:
    • 移除旧版 bg-dark 全屏横条样式。
    • 底部改为与首页一致的居中卡片化容器。
    • 使用 body flex 布局和 #footer { margin-top: auto; },保证内容不足一屏时底部贴近浏览器底部。
    • 适配浅色、暗色和移动端布局。
    • 保留原有底部 hook,避免影响插件扩展。

  25. 首页首屏推荐图文卡片
  26. 修改文件:
    • route/index.php
    • view/htm/index.htm
    • view/htm/post.htm
    • view/css/bootstrap-bbs.css
    • route/thread.php
    • route/post.php
    • model/thread.func.php
    • install/install.sql
    • tool/alter.sql
    主要调整:
    • 首页中间主内容区增加首屏推荐图文卡片。
    • 推荐卡片只展示被显式设置为 首页首屏推荐 的主题,不再自动抓取置顶、最新或热帖,避免首页内容不可控。
    • 发帖和编辑首帖页面增加 首页首屏推荐 勾选项。
    • 只有拥有置顶权限的管理员或版主可以设置推荐,普通用户即使伪造表单提交也不会生效。
    • 首页推荐数据按 recommend = 1 查询,并结合置顶级别、浏览数、回复数和最近活跃度排序。
    • 推荐封面图优先从 Markdown 原文图片语法中提取,例如:
    复制代码
    llbbs
    • 如果 Markdown 原文没有图片,再从渲染后的 <img src="..."> 中提取。
    • 如果正文图片仍不存在,则从附件图片中兜底读取。
    • 如果没有任何图片,则使用与当前 UI 风格一致的渐变封面。
    • 推荐卡片支持浅色、暗色、宽屏和移动端响应式显示。

  27. 推荐内容后台管理
  28. 修改文件:
    • admin/menu.conf.php
    • admin/route/thread.php
    • admin/view/htm/thread_recommend.htm
    主要调整:
    • 后台主题管理增加 推荐内容 Tab。
    • 新增首页首屏推荐内容管理列表,集中展示所有 recommend = 1 的主题。
    • 推荐内容管理列表新增筛选区域,支持按版块、关键词、用户 ID、发帖 IP、打开/关闭状态、开始时间和结束时间筛选。
    • 推荐内容筛选后分页会保留筛选条件。
    • 列表展示主题、版块、作者、浏览数、回复数、发布时间等信息。
    • 支持从列表直接打开前台主题详情和编辑主题首帖。
    • 支持单个取消推荐。
    • 支持勾选多个主题后批量取消推荐。
    • 取消推荐操作只更新 recommend = 0,不会删除主题,也不会影响置顶状态。

  29. 后台主题批量管理重构
  30. 修改文件:
    • admin/route/thread.php
    • admin/view/htm/thread_list.htm
    主要调整:
    • 后台 主题批量管理 不再使用原来的扫描队列模式。
    • 进入页面后直接显示主题分页列表。
    • 页面顶部保留筛选区域,支持按版块、关键词、用户 ID、发帖 IP、开启/关闭状态、推荐状态、开始时间和结束时间筛选。
    • 筛选后列表直接刷新,筛选条件在分页中保持。
    • 列表展示主题标题、摘要、置顶标记、推荐标记、版块、作者、浏览数、回复数、状态和发布时间。
    • 支持在列表中勾选多个主题后直接批量打开、关闭或删除。
    • 批量操作不再依赖临时队列,直接针对当前勾选主题执行。

  31. 后台用户积分编辑
  32. 修改文件:
    • admin/route/user.php
    • admin/view/htm/user_update.htm
    主要调整:
    • 后台用户编辑页面新增积分相关字段编辑能力。
    • 支持编辑用户表已有的 credits 积分字段。
    • 同时支持编辑 golds 金币和 rmbs 人民币预留字段。
    • 保存用户资料时会同步更新上述字段。
    • 首页财富榜等依赖用户积分的数据会使用更新后的真实数据。

  33. 前端用户货币信息展示
  34. 修改文件:
    • view/htm/my.common.template.htm
    • view/htm/user.common.template.htm
    • view/htm/my.htm
    • view/htm/user.htm
    • view/css/bootstrap-bbs.css
    主要调整:
    • 前端我的资料和用户资料页展示默认已有的货币信息。
    • 展示 credits 积分、golds 金币和 rmbs 人民币字段。
    • 用户侧边卡片重构为参考图风格:顶部封面背景、居中头像、用户名、等级、四列统计、最近主题列表和底部更多入口。
    • 用户中心侧边栏宽度优化为更舒展的大卡片布局,提升封面、头像、统计区和按钮的大气感。
    • 用户侧边卡片统计区使用主题、回帖、积分、金币四项真实数据,统一水平四列排版。
    • 用户侧边卡片新增最近主题列表和“更多作者好帖 →”入口,补齐参考图下半部分布局。
    • 用户侧边卡片底部旧版“个人资料 / 论坛帖子”菜单项已移除,避免和新版更多入口重复。
    • 帖子详情页右侧作者卡片统一为新版用户侧边卡片风格,展示作者等级、统计、最近主题和更多入口。
    • 帖子详情页移除顶部面包屑区域和右侧“发新帖”按钮,让页面更聚焦正文与作者卡片。
    • 帖子详情页右侧作者卡片下方新增“热门帖子”卡片,按当前作者主题浏览量从高到低排序展示。
    • 帖子详情页右侧卡片旁新增快捷按钮组:快速发帖、站长微信和返回顶部。
    • 后台设置新增“快捷按钮”配置,可启用/关闭快捷按钮并上传站长微信二维码,前台鼠标悬停微信按钮时弹出二维码。
    • 修复快捷按钮微信二维码上传兼容问题,增强 base64 数据解析并统一保存为固定二维码图片地址。
    • 帖子详情页快捷按钮组改为随页面滚动吸附在右侧卡片旁,返回顶部按钮仅在页面下滑后显示。
    • 帖子详情页右侧作者卡片和热门帖子卡片作为一个整体随页面滚动吸附显示,保持侧栏信息持续可见。
    • 用户侧边卡片增加紧凑货币标签。
    • 资料详情区域增加货币信息卡片。
    • 每个货币信息前增加对应小图标。
    • 适配浅色、暗色和移动端布局。

  35. 积分流水系统
  36. • 新增 bbs_credit_log 积分流水表,记录积分、金币、人民币的每次变动。
    • 新增 model/credit_log.func.php,提供流水表检测、写入、查询和统计方法。
    • 签到发放奖励后会分别记录积分、金币、人民币流水,来源为“每日签到奖励”。
    • 后台编辑用户积分、金币、人民币时会记录对应变动流水,来源为“后台编辑用户...”。
    • 我的资料新增“积分流水”标签页,可查看币种、变动数量、变动后余额、来源和时间。
    • 安装 SQL 和升级 SQL 已补充 bbs_credit_log 表结构;上线后需执行升级 SQL 并清理模型缓存。

  37. 签到记录管理
  38. • 后台 设置 菜单新增“签到记录”Tab,路由为 setting-checkin_log。
    • 新增后台签到记录列表页 admin/view/htm/setting_checkin_log.htm。
    • 支持按用户 ID、指定日期、指定月份、开始日期和结束日期筛选签到记录。
    • 列表展示用户 ID、用户名、签到日期、连续天数、奖励明细和签到时间。
    • 修复后台签到记录用户名不显示问题,改为按记录逐个读取用户缓存并以 UID 建立映射。
    • 多币种签到奖励优先读取 bbs_credit_log 积分流水明细,显示为“10积分、5金币、1人民币”这类可读格式。
    • 若历史记录没有对应积分流水,则兼容显示签到表中的奖励总值。
    修改文件:
    文件
    说明
    admin/menu.conf.php
    设置菜单新增“签到记录”Tab
    admin/route/setting.php
    新增 checkin_log 路由,支持筛选、分页和用户信息映射
    admin/view/htm/setting_checkin_log.htm
    新增后台签到记录列表和筛选页面
    model/checkin.func.php
    新增签到记录查询、统计和奖励明细格式化方法
    更新说明.md
    补充签到记录管理说明

  39. 用户等级进度条
  40. • 基于默认用户组 creditsfrom / creditsto 积分区间新增等级进度计算。
    • 我的资料页和用户资料页新增等级进度卡片,展示当前等级、下一等级、当前积分、升级还需积分和进度百分比。
    • 新增公共模板 view/htm/user_level_progress.inc.htm,便于后续在侧边栏或帖子用户卡片复用。
    • 等级进度条已适配浅色、暗色和移动端布局。
    修改文件:
    文件
    说明
    model/group.func.php
    新增用户等级进度计算方法
    route/my.php
    我的资料页传入等级进度数据
    route/user.php
    用户资料页传入等级进度数据
    view/htm/user_level_progress.inc.htm
    新增等级进度条公共模板
    view/htm/my.htm
    我的资料页展示等级进度条
    view/htm/user.htm
    用户资料页展示等级进度条
    view/css/bootstrap-bbs.css
    新增等级进度条样式和暗色模式适配

  41. 签到系统
  42. 修改文件:
    • model/checkin.func.php
    • model.inc.php
    • index.inc.php
    • route/checkin.php
    • route/index.php
    • view/htm/index.htm
    • view/css/bootstrap-bbs.css
    • admin/menu.conf.php
    • admin/route/setting.php
    • admin/view/htm/setting_checkin.htm
    • install/install.sql
    • tool/alter.sql
    主要调整:
    • 新增签到记录表 bbs_checkin。
    • 新增签到模型,支持读取签到设置、执行签到、计算连续签到天数和生成自然月日历。
    • 前端新增 checkin-do 签到接口。
    • 首页右侧卡片区域新增独立签到卡片。
    • 签到采用日历方式展示当月签到状态。
    • 登录用户可以点击立即签到,签到后当天自动标记为已签到。
    • 签到奖励直接发放到用户已有的 credits、golds 或 rmbs 字段。
    • 后台设置中新增 签到设置 Tab。
    • 后台可配置是否启用签到、奖励币种、基础奖励、连续奖励、连续奖励上限和日历记录天数。
    • 奖励币种支持多选,可同时启用积分、金币和人民币,并分别设置基础奖励和连续奖励。
    • 首页右侧签到卡片仅保留标题、日历和签到按钮,奖励与连续签到等明细改为签到成功后提示展示。
    • 后台新增“签到记录”管理页,可按用户 ID、指定日期、月份和日期范围筛选签到记录。
    • 签到记录列表展示用户、签到日期、连续天数、奖励信息和签到时间,方便管理员排查奖励发放情况。
    • 修复签到记录列表用户名不显示的问题,多币种奖励改为优先读取积分流水明细展示。
    • 签到卡片适配浅色、暗色和移动端布局。

  43. 全站通用 UI 风格统一
  44. • 统一前端通用卡片、面包屑、帖子列表、回复列表、表格、分页、按钮、表单、下拉菜单和提示框样式。
    • 论坛列表页、帖子详情页、发帖编辑页、登录注册页、个人中心等页面会自动继承现代卡片化主题风格。
    • 帖子详情标题、用户头像、正文图片、回复列表和快捷回复区域统一为圆角、轻阴影和主题色交互。
    • 表单输入框、选择框、按钮和分页控件统一为圆角现代风格,和首页信息流 UI 保持一致。
    • 暗色模式补充通用表格、分页、下拉菜单、表单焦点、引用块、正文图片和标题链接适配。
    • 移动端补充卡片内边距、表单圆角、列表间距和表格容器适配,减少小屏页面拥挤感。
    • 修复版块页“最新”标签过大导致与下方分割线重叠的问题。
    • 优化暗色模式下版块页面包屑、排序区域、帖子标题、作者信息和版块信息卡片的文字对比度。
    修改文件:
    文件
    说明
    view/css/bootstrap-bbs.css
    统一全站通用 UI 组件风格、暗色模式和移动端适配

  45. 移动端首页和顶部导航适配
  46. • 优化首页手机端右侧区域布局,签到、社区热点和用户榜单在窄屏下改为单列展示。
    • 修复首页移动端整体横向溢出问题,限制首页容器、推荐卡片、帖子卡片、标签和元信息最大宽度。
    • 版块菜单在手机端改为横向滚动展示,修复菜单项被压缩到只显示单字的问题。
    • 优化首页 Tab、榜单 Tab 和长标题文本在手机端的换行、滚动和溢出处理。
    • 调整暗黑模式下顶部主题切换按钮色调,改为与整体 UI 一致的蓝灰暗色风格。
    修改文件:
    文件
    说明
    view/css/bootstrap-bbs.css
    补充首页移动端防溢出、版块横向菜单、顶部暗色按钮样式

  47. 用户侧栏最新帖子与热门帖子
  48. • 用户资料页侧边卡片下方改为展示用户最新 10 条主题,按发布时间倒序排列。
    • 用户资料页新增当前用户热门帖子区域,按浏览量、回复数和主题 ID 倒序排列。
    • 帖子详情页右侧作者卡片同步展示作者最新 10 条主题和热门主题。
    • 最新主题和热门主题分别使用不同的彩色排序标签设计,避免视觉样式完全一致。
    • 用户侧栏数据改为直接从主题表按 uid 查询,避免历史数据或 bbs_mythread 关联表未同步时显示为空。
    • 帖子详情页右侧作者卡片恢复快捷按钮组,继续支持快速发帖、站长微信和返回顶部按钮。
    • 帖子详情页顶部面包屑区域已移除,让详情页正文内容更靠前展示。
    修改文件:
    文件
    说明
    route/user.php
    用户资料页和用户主题页读取最新主题、热门主题数据
    route/thread.php
    帖子详情页读取作者侧栏数据、快捷按钮配置和版权声明配置
    model/mythread.func.php
    优化用户主题列表读取逻辑,支持自定义排序
    view/htm/user.common.template.htm
    用户资料侧栏展示最新主题和热门主题列表
    view/htm/thread.htm
    帖子详情页新版作者侧栏、快捷按钮、移除面包屑
    view/css/bootstrap-bbs.css
    用户侧栏帖子列表、热门列表、快捷按钮相关样式

  49. 帖子详情页版权声明
  50. • 帖子详情正文下方新增版权声明区域,位于正文和附件内容之后,并与正文保持一定间距。
    • 版权声明采用浅蓝虚线边框和柔和背景样式,暗色模式下自动切换为蓝灰暗色风格。
    • 后台设置新增“版权声明”Tab,可控制是否启用、声明标题和声明内容。
    • 声明内容支持后台维护,前台会保留换行显示并进行安全转义。
    • 默认声明文案已内置,首次开启即可直接显示。
    修改文件:
    文件
    说明
    admin/menu.conf.php
    后台设置新增“版权声明”Tab
    admin/route/setting.php
    新增版权声明读取和保存逻辑
    admin/view/htm/setting_copyright.htm
    新增版权声明后台配置页面
    route/thread.php
    帖子详情页读取版权声明配置
    view/htm/thread.htm
    正文下方渲染版权声明区域
    view/css/bootstrap-bbs.css
    新增版权声明浅色和暗色样式

  51. 发帖标签与首页帖子卡片细节优化
  52. • 发帖和编辑首帖页面新增标签输入能力,支持多个标签按逗号、中文逗号、顿号、分号、竖线或空格分隔。
    • 标签保存前会自动清洗 HTML、去除 #、去重,并限制最多 5 个标签、单个标签最多 16 个字符。
    • 主题表新增 tags 字段,用英文逗号保存主题标签。
    • 主题格式化时会生成 taglist,首页帖子卡片底部可直接展示自定义标签。
    • 首页帖子列表继续保留版块标签、置顶标签,并补充自定义标签展示。
    • 暗色模式下首页标签改为低饱和深蓝灰色调,避免浅色标签与暗色卡片不协调。
    • 首页帖子卡片恢复版主管理选择框显示逻辑,按当前用户是否拥有 allowtop 权限决定是否展示。
    • 首页卡片右上角选择框改为小巧圆形控件,选中后显示绿色圆点,并带有轻微脉冲动画。
    • 发帖和编辑首帖页面继续保留摘要输入、首页首屏推荐勾选和 Markdown 编辑器能力。
    修改文件:
    文件
    说明
    view/htm/post.htm
    发帖和编辑首帖页面展示标签输入、摘要输入、首页推荐勾选和 Markdown 编辑器
    route/thread.php
    创建主题时接收并保存摘要、标签和首页推荐状态
    route/post.php
    编辑首帖时更新摘要、标签和首页推荐状态
    route/index.php
    首页列表补充版主管理选择框权限计算,支持卡片右上角选择框显示
    model/thread.func.php
    增加标签字段检测、标签清洗、标签数组格式化、摘要和推荐字段检测
    model/post.func.php
    补充 Markdown 基础渲染能力
    view/htm/index.htm
    首页帖子卡片底部展示自定义标签
    view/css/bootstrap-bbs.css
    优化暗色模式标签色调、首页卡片圆形选择框和绿色选中动画
    install/install.sql
    新安装主题表增加 brief、recommend、tags 字段
    tool/alter.sql
    旧数据库升级增加 brief、recommend、tags 字段
    十、本次涉及的主要文件清单
    文件
    更新内容
    view/htm/index.htm
    首页改为三栏社区动态流布局,支持真实摘要、社区热点、用户排行、首屏推荐图文卡片、右侧日历签到卡片和帖子自定义标签展示
    view/css/bootstrap-bbs.css
    新增首页、顶部导航、底部区域、暗色模式、响应式、大屏布局、推荐卡片、用户货币信息、签到卡片、Markdown 编辑器、标签和圆形管理选择框样式
    view/htm/post.htm
    发帖和编辑页面增加摘要输入区、标签输入区、首页首屏推荐勾选项、Markdown 工具栏和预览模式
    view/htm/thread.htm
    帖子详情页正文支持 Markdown 样式和渲染输出,右侧展示作者最新/热门帖子、快捷按钮,并在正文下方展示可配置版权声明
    view/htm/post_list.inc.htm
    回复列表正文支持 Markdown 样式和渲染输出
    view/htm/user.htm
    用户资料页展示积分、金币和人民币货币信息卡片
    view/htm/my.htm
    我的资料页展示积分、金币和人民币货币信息卡片
    view/htm/user.common.template.htm
    用户资料侧边卡片展示紧凑货币信息标签、最新主题和热门主题列表
    view/htm/my.common.template.htm
    我的资料侧边卡片展示紧凑货币信息标签
    view/htm/header.inc.htm
    增加 CSS 文件修改时间版本号、首页容器专属类名和暗色模式提前初始化脚本
    view/htm/header_nav.inc.htm
    顶部导航改为浅色/暗色可切换风格,展示站点名称并增加主题切换按钮
    view/htm/footer.inc.htm
    增加主题切换脚本,保存并恢复用户选择的浅色/暗色模式
    view/htm/footer_nav.inc.htm
    底部区域改为与整体 UI 一致的卡片化容器布局
    route/index.php
    首页列表加载真实摘要,支持动态/最新/热榜排序,使用真实用户排行、真实热榜、可控首屏推荐数据源、签到日历数据和版主管理选择框权限计算
    route/checkin.php
    新增前端签到接口,处理每日签到并返回奖励和连续签到数据
    model/checkin.func.php
    新增签到模型,支持签到设置、签到记录、连续签到和日历数据生成
    model.inc.php
    加载签到模型文件
    index.inc.php
    增加 checkin 前端路由分发
    route/thread.php
    创建主题时接收摘要、标签、Markdown 正文类型和首页首屏推荐状态,详情页读取作者侧栏、快捷按钮和版权声明配置
    route/post.php
    编辑首帖时支持更新摘要、标签、Markdown 正文和首页首屏推荐状态
    model/thread.func.php
    增加摘要字段检测、推荐字段检测、标签字段检测、标签清洗、摘要/标签格式化、创建主题摘要、标签和推荐状态写入逻辑
    model/post.func.php
    增加 Markdown 自动识别、解析和旧内容兼容渲染逻辑
    install/install.sql
    新安装主题表增加 brief 摘要字段、recommend 首页首屏推荐字段、tags 标签字段和 bbs_checkin 签到记录表
    tool/alter.sql
    旧数据库升级增加 brief、recommend、tags 字段和 bbs_checkin 签到记录表添加语句
    admin/menu.conf.php
    后台设置增加签到设置、快捷按钮、版权声明入口,主题管理增加推荐内容管理入口
    admin/route/thread.php
    后台增加推荐内容列表、单个/批量取消推荐接口,并将主题批量管理重构为直接分页列表、筛选和勾选批量操作
    admin/view/htm/thread_list.htm
    重构后台主题批量管理页面,直接展示主题列表并支持筛选、分页、批量打开、关闭和删除
    admin/view/htm/thread_recommend.htm
    新增推荐内容管理页面,支持筛选、分页、查看、编辑、单个取消和批量取消推荐
    admin/route/user.php
    后台用户编辑保存逻辑新增积分、金币和人民币字段更新
    admin/view/htm/user_update.htm
    后台用户编辑页面新增积分、金币和人民币编辑项
    admin/route/setting.php
    后台新增签到设置、快捷按钮、版权声明读取和保存逻辑
    admin/view/htm/setting_checkin.htm
    新增签到设置页面,可配置启用状态、多选奖励币种,并分别设置基础奖励和连续签到奖励规则
    admin/view/htm/setting_quickbar.htm
    新增快捷按钮设置页面,可配置启用状态、站长微信二维码和说明文字
    admin/view/htm/setting_copyright.htm
    新增版权声明设置页面,可配置启用状态、标题和声明内容
    model/plugin.func.php
    模板源文件更新后自动重新编译缓存
    xiunophp/xiunophp.php
    修复 PHP 8 magic quotes 相关兼容问题
    xiunophp/xiunophp.min.php
    修复 PHP 8 magic quotes 相关兼容问题
    xiunophp/xn_send_mail.func.php
    修复邮件库 magic quotes 兼容问题
    xiunophp/xn_html_safe.func.php
    修复 PHP 8 大括号字符串偏移语法错误
    十一、上线替换注意事项
    如果将本地文件同步到线上后仍然没有变化,建议按以下顺序排查:

  53. 确认线上已替换以下关键文件:
  54. • view/htm/index.htm
    • view/css/bootstrap-bbs.css
    • view/htm/header.inc.htm
    • view/htm/header_nav.inc.htm
    • view/htm/footer.inc.htm
    • view/htm/footer_nav.inc.htm
    • model/plugin.func.php
    • model/post.func.php
    • model/thread.func.php
    • route/index.php
    • route/thread.php
    • route/post.php
    • route/checkin.php
    • view/htm/post.htm
    • view/htm/thread.htm
    • view/htm/post_list.inc.htm
    • view/htm/user.htm
    • view/htm/my.htm
    • view/htm/user.common.template.htm
    • view/htm/my.common.template.htm
    • model/checkin.func.php
    • model.inc.php
    • index.inc.php
    • admin/menu.conf.php
    • admin/route/thread.php
    • admin/view/htm/thread_list.htm
    • admin/view/htm/thread_recommend.htm
    • admin/route/user.php
    • admin/view/htm/user_update.htm
    • admin/route/setting.php
    • admin/view/htm/setting_checkin.htm
    • admin/view/htm/setting_quickbar.htm
    • admin/view/htm/setting_copyright.htm

  55. 清理 Xiuno 模板缓存目录:
  56. • tmp/

  57. 清理浏览器缓存,或使用强制刷新。
  58. 如果服务器开启了 OPcache,重启 PHP-FPM 或在面板中清理 OPcache。
  59. 打开页面源代码,确认 bootstrap-bbs.css 后面的版本参数已经变成新的时间戳。
  60. 如果首页仍然显示空白或很小,需要确认论坛中是否已有帖子数据,因为无帖子时动态流只会显示空状态。
  61. 如果 Markdown 编辑器或详情页解析不生效,需要确认 model/post.func.php 已替换,并清理 PHP OPcache。
  62. 已有数据库需要执行 brief、recommend 和 tags 字段升级 SQL,否则手动摘要、首页首屏推荐和主题标签无法保存。
  63. 复制代码
    ALTER TABLE bbs_thread ADD COLUMN brief char(240) NOT NULL default '' after subject;
    ALTER TABLE bbs_thread ADD COLUMN recommend tinyint(1) unsigned NOT NULL default '0' after brief;
    ALTER TABLE bbs_thread ADD COLUMN tags char(120) NOT NULL default '' after recommend;
    CREATE TABLE IF NOT EXISTS bbs_checkin (
    uid int(11) unsigned NOT NULL default '0',
    ymd int(8) unsigned NOT NULL default '0',
    year smallint(4) unsigned NOT NULL default '0',
    month tinyint(2) unsigned NOT NULL default '0',
    day tinyint(2) unsigned NOT NULL default '0',
    create_date int(11) unsigned NOT NULL default '0',
    reward_type char(16) NOT NULL default 'credits',
    reward_value int(11) NOT NULL default '0',
    streak int(11) unsigned NOT NULL default '1',
    PRIMARY KEY(uid, ymd),
    KEY ymd (ymd),
    KEY uid_month (uid, year, month)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

  64. 如果发帖/编辑页面没有显示 首页首屏推荐 勾选项,需要确认:
  65. • 当前数据库已经存在 recommend 字段。
    • 当前登录用户拥有对应版块的置顶权限。
    • 模板缓存和 OPcache 已清理。

  66. 如果发帖/编辑页面标签无法保存,需要确认:
  67. • 当前数据库已经存在 tags 字段。
    • model/thread.func.php、route/thread.php、route/post.php 和 view/htm/post.htm 已同步替换。
    • 模板缓存和 OPcache 已清理。
    十二、当前效果说明
    当前首页已经从传统论坛列表样式调整为更现代的社区信息流布局。整体视觉方向为:
    • 简约浅色调。
    • 白色卡片叠加在浅灰背景上。
    • 左中右三栏结构清晰。
    • 中间内容区突出帖子动态。
    • 右侧承载热点、排行和统计信息。
    • 大屏下页面更宽、更舒展,更接近参考页面的比例。
    • 发帖和编辑页面支持 Markdown 工具栏、实时预览和预览模式切换。
    • 帖子详情页和回复列表支持 Markdown 内容渲染与基础排版样式。
    • 首页帖子卡片支持真实摘要展示,普通文字帖不再强制显示大图预览卡片。
    • 首页帖子卡片底部支持展示自定义主题标签,暗色模式下标签使用低饱和深蓝灰色调。
    • 首页帖子卡片保留版主管理选择框,右上角圆形选择框选中后带绿色圆点动画。
    • 首页首屏推荐图文卡片由发帖/编辑首帖时显式勾选控制,未设置推荐时不显示该区域。
    • 首屏推荐封面优先使用帖子正文中的 Markdown 图片或 HTML 图片,其次使用附件图片,最后使用渐变兜底封面。
    • 右侧用户排行、社区热点和热榜 Tab 已改为真实数据源。
    • 暗色模式可在顶部导航切换,并会记住用户选择。
    • 底部区域已改为与整体 UI 一致的卡片化布局,内容不足一屏时会贴近浏览器底部。
    • 后台主题管理已提供推荐内容列表,可集中筛选、查看、编辑、单个取消或批量取消首页首屏推荐。
    • 前端我的资料和用户资料页已展示积分、金币、人民币等货币信息,并配有对应小图标。
    • 首页已在右侧卡片区域新增独立日历签到卡片,登录用户可每日签到并领取积分/金币/人民币奖励。
    • 后台设置已新增签到设置入口,可配置签到启用状态、多选奖励币种、各币种基础奖励和连续签到奖励。
    • 后台用户管理已支持在编辑用户时直接调整积分、金币和人民币字段。
    • 后台主题批量管理已改为直接显示主题列表,上方筛选、下方勾选后即可批量打开、关闭或删除主题。
    • 首页和帖子详情页移动端布局已补充防溢出适配,版块菜单在手机端支持横向滚动。
    • 用户资料页和帖子详情页作者侧栏已展示最新主题与热门主题,并使用不同的彩色排序标签。
    • 帖子详情页右侧快捷按钮组可通过后台设置启用,支持快速发帖、站长微信和返回顶部。
    • 帖子详情页正文下方已新增可配置版权声明区域,后台可控制启用状态、标题和声明内容。
    后续如果继续优化,可以进一步增加:
    • 版块图标统一设计。
    • 首页首屏推荐多图轮播或多卡片展示。
    • 推荐内容排序权重、有效期和推荐理由等运营字段。

本帖中包含附件 如需下载请先购买主题
看过的人 (4)
  • admin
  • 韩林汉
  • 六万
  • 梅昌
最新回复 (1)
返回