轮播推荐帖区块

轮播推荐帖区块

轮播图 + 帖子列表合一卡片。推荐位支持积分上墙

插件 v2.0.2 贰先生 内容 工具 积分兑换 30 金币

xnx_block_post 首页帖子区块

首页中栏顶部区块(公告卡上方):轮播图 + 帖子列表合一卡片。推荐位支持积分上墙——管理员设 tid,未满坑位用户可购买,到期自动下架。由旧插件 xnx_home_block 的帖子侧拆分演进而来(安装时自动迁移旧轮播表与配置)。

功能

  • 轮播图:后台增删改查(图片/标题/描述/标签/链接/排序/启用),rank 小在前;空轮播自动隐藏

  • 帖子列表 6 个 Tab:推荐(recommend)/ 置顶(top)/ 公告(announce)/ 最新(latest)/ 最热(hot)/ 精华(digest),后台多选启用 + 序号排序,每 Tab 5 条(产品定死)

  • 推荐 Tab 为推荐位:管理员手动 tid(按配置顺序)在前,购买记录(未过期)按购买顺序补足到 5 个坑位(手动可超出坑位全展示)

  • 版块范围 forum_fids 可选(空 = 全站,分区 type=1 自动剔除);移动端帖子列表可开关;轮播间隔 3-10 秒可调

  • 上墙购买:登录用户从自己的帖子中选一条上墙,CreditsService 扣积分(credits/golds/rmbs 白名单,行锁+事务+流水),0 = 免费;时效制(默认 7 天),到期查询侧过滤自动下架

  • 数据接口 xnx_block_post_api 游客可访问,slides+threads 整包缓存 5 分钟(CacheHelper),写操作后主动失效;上墙状态实时计算不走缓存

文件结构

plugin/xnx_block_post/
├── conf.json
├── install.php / uninstall.php / upgrade.php
│   ├── install:建 xnx_block_post_slide / xnx_block_post_rec 表,旧表 xnx_home_block_slide RENAME 迁移,3 条默认轮播,配置迁移
│   └── upgrade:幂等补表
├── admin.php + hook/admin_index_route_case_end.php   # 轮播管理(admin/?xnx_block_post_admin,gid 1/2)
├── api.php        # GET JSON:slides + threads + buy 状态(case xnx_block_post_api)
├── buy.php        # GET 上墙信息 / POST 购买上墙(case xnx_block_post_buy,CsrfService 幂等复检)
├── setting.php    # 后台设置:basic / wall 两 Tab(plugin-setting-xnx_block_post-<tab>)
├── model/BlockPostService.php   # 查询/缓存/上墙购买/设置归一化
├── hook/
│   ├── index_main_start.htm     # 首页中栏注入区块模板(公告卡上方)
│   ├── index_route_case_end.php # 注册 api / buy 前台路由
│   ├── model_inc_file.php       # Service 注入 model 加载列表
│   └── lang_{zh-cn,zh-tw,en-us}_bbs.php
├── view/htm/
│   ├── block_post.htm           # 前台外壳(PHP 渲染骨架与设置,JS 拉数据填充)
│   ├── setting_basic.htm / setting_wall.htm
│   └── slide_admin.htm
├── static/ css/block_post.css, js/block_post.js   # 原生 JS IIFE 幂等(htmx 替换 #body 后重建)
└── lang/{zh-cn,zh-tw,en-us}.php

数据表

  • xnx_block_post_slide:轮播项(image_url/title/description/tag/link_url/rank/enable)

  • xnx_block_post_rec:推荐位购买记录(tid/uid/credits_type/credits_num/expire_date),到期即下架,卸载时删表

配置流程

  1. 后台「插件管理」启用;基础设置(plugin-setting-xnx_block_post-basic):版块范围、轮播间隔、移动端开关、帖子 Tab 勾选与排序

  2. 「轮播管理」(设置页入口按钮)维护轮播图

  3. 推荐位与上墙(wall Tab):填管理员推荐 tid、开启购买、选支付积分类型与数量、设时效天数;可查看未过期购买记录并手动下架

  4. 前台首页中栏查看效果;用户点「我要上墙」选帖支付,到期或管理员下架后自动移出

实现要点

  • 后台设置分 Tab 覆盖式保存,每 Tab 只提交自己的字段,array_merge(旧, 新) 防跨 Tab 丢配置

  • 积分字段与 Tab 键均白名单校验(排序键/存库前过滤);thread_count=5、坑位=5 产品定死,后台不可改

  • 缓存键 block_data 注册进 CacheHelper,清理用 pluginDeletePrefix;静态资源 filemtime 版本串

  • 上墙扣费经 CreditsService,外部不嵌套事务;购买/到期状态每次实时计算,保证立即可见


截图 2
v2.0.2 2026-09-04
作者信息
XiunoX 开发者,独立开发者 & 全栈工程师 DiscuzX 插件/模板、WordPress 主题/插件、XiunoX 框架二次开发、APP 与小程序自研项目。
开发者主页
44
应用
433
安装
2026-08
加入
应用详情
应用分类 插件
版本 v2.0.2
适用版本 1.1
开发者 贰先生
下载量 4
浏览 6
更新时间 2026-09-04
发布时间 2026-09-04
最新回复
查看全部
  • 暂无回复

查看全部评论 / 发表评论
完整评论功能在讨论帖中,点击前往