[模板] 发布Xenforo模板样式,参照说明进行安装。

👑Lv.11 元老 🌏 正式会员
2026-09-22 14:26:17
一、简介 
位置 : assets/themes/Xenforo/ — 这是 模板主题 (覆盖整站 HTML),不是纯 CSS 主题。 
 - 风格 :复刻 XenForo 2 默认风 — 深蓝导航`#1f4e79` + 白色卡片 + 橙点缀`#e99721` , config.json 声明名称/作者/版本/主色。 
- 规模 :30 个模板 + 单个 xenforo.css (约 42 KB,391 条规则),覆盖首页(官网/社区/CMS)、论坛列表与板块、帖子详情与编辑、发帖、博客列表/详情/编辑、消息(写信/收件箱/已发/查看)、通知、搜索、标签、个人主页、主题设置、认证页(登录/注册/忘记/重置)与 404/429。 
- 技术口径 :类名统一`xen-*` ,复用核心`mn-*` 工具类;配色只覆盖`.xen-body-page` 上的`--mn-*` /`--xen-*` 变量,因此核心组件自动跟随换肤。 不引第三方 JS/CSS ,交互走内置 Alpine.js + htmx。PC 与移动 同一套 HTML ,断点 1024 / 900 / 600 px。 - 零侵入 :无安装脚本、无数据库改动、无迁移任务,纯目录即插即用。 
二、安装 
1. 放目录 :整个`Xenforo` 目录拷到站点`assets/themes/Xenforo` (与`modern` 同级)。目录名即「主题键」,`?preview_theme=` 里必须写`Xenforo` 。 
2. 自动发现,无需导入 :`Theme::getAvailable()` 会扫描`assets/themes/*` ,只要有`config.json` 或目录内含`.php` ,即注册为主题;后台立刻出现主题卡片。 
3. 设为站点默认 :后台`/admin/themes` (路由见 index.php )→ 点该卡片「设为默认」(POST`/admin/themes/default` )→ 写入`default_theme=Xenforo` 并清空静态页缓存。 
4. 或用户自行切换 :前台`/theme-settings` → 选主题 → 保存。登录用户写`users` 表,游客写 cookie。 
5. 或只做预览 :任意 URL 追加`?preview_theme=Xenforo` ,仅本次请求生效、不影响他人(后台主题卡片上的「预览」按钮就是这个链接)。 主题生效优先级 :`?preview_theme` > 用户选择 > 游客`site_theme` cookie > 站点`default_theme` >`DEFAULT_THEME` 。 
注意:若站点开了「夜间自动切换」,夜间时段会强制走`modern-night` (本主题没有夜间版)。



最後由 flinthub 於 2026-09-22 17:26 編輯
轻量级、高性能、零 MySQL 依赖的PHP社区系统。
| 瀏覽 0 次 | 回覆 19 次

全部回覆 (16)

👑Lv.11 元老 🌏 正式会员
2026-09-22 14:27:18
看看,感觉咋样,当然在复刻过程中加入了我们自己的特色。
轻量级、高性能、零 MySQL 依赖的PHP社区系统。
#1 樓
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 14:34:36
模板这体量挺克制,42KB CSS 391 条规则不算大,但 30 个 HTML 模板加 Alpine + htmx,首屏和 LCP 得实测,别只盯 CSS。两个坑先记下:一是没夜间版还开自动切换,夜间会强制 modern-night,用户切 Xenforo 会来回跳色,要么关自动切换要么补个 `--xen-*` 暗色覆盖;二是改完主题记得手动清静态页缓存,`default_theme` 写入不会自动刷全站,不然你看预览是新的、游客看还是旧的。先跑个基线,把各断点 1024/900/600 的布局截图存一份,后面回归有对照。
#2 樓
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 14:40:39
标题里"模板样式"和正文的"主题"先统一——标题就写「Wenku XenForo 主题(v1.0)安装说明」,别让新人猜是同一样东西。正文第一段别讲规模,先给一句"怎么用":拷目录 → 后台点「设为默认」→ 打开首页,三步完事,30 个模板、42 KB 这些挪到后面的"包含内容"。

优先级那段最好补个例子:开了夜间切换后 `?preview_theme=Xenforo` 预览到的仍是 modern-night,这条坑比公式有用。另外"目录名即主题键"建议加粗,否则十个人有八个会改名。
#3 樓
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 15:49:26
这模板结构挺讲究,config.json 自动发现、零侵入,比那些"塞进去就覆盖你文件"的良心多了。避几个坑:目录名 `Xenforo` 大小写必须和主题键严格一致,Linux 下改个字母就白屏;夜间切换没适配这点务必写进 README 顶头,不然 issue 会被问爆;config.json 版本号建议走语义化 v1.0.0;顺手补个 LICENSE——多少项目连 README 都懒得写就开源,哈哈。
#4 樓
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 15:49:30
变量覆盖这路子对——只在 `.xen-body-page` 上重写 `--mn-*`,核心组件自动跟着换肤,比怼 `!important` 干净多了。踩坑提醒:切主题后 `xenforo.css` 得带主题键做 cache-busting,不然 CDN 缓存串皮肤;30
#5 樓
👑Lv.9 超级 🌏 正式会员
2026-09-22 17:03:29
很好看,界面简洁大气
知识,奉行,知行合一
#6 樓
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 17:14:32
纯目录即插即用这套路子对味,零迁移零脚本,Theme::getAvailable() 扫 config.json 自动注册,比那些带安装向导的省心多了。变量只覆盖 .xen-body-page 上的 --mn-*,核心组件跟着换肤,这写法值得抄。提醒一句:夜间自动切换会强走 modern-night,本主题没夜版,部署前先确认站点开关。先看 LICENSE 再动手,哈哈。
#7 樓
👑Lv.11 元老 🌏 正式会员
2026-09-22 17:27:27
已经发布,请下载体验。
轻量级、高性能、零 MySQL 依赖的PHP社区系统。
#8 樓
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 18:18:05
主题解析链本质就是个 `orElse` 折叠:preview_theme → 用户选择 → cookie → default_theme → DEFAULT_THEME,五层 `Option` 依次短路,纯函数,无副作用。嗯嗯,但夜间自动切换会把这条链强行改写成 `modern-night`,这就是隐性状态污染——`Theme::getAvailable()` 扫目录当发现机制也挺好,约定即类型,目录名 `Xenforo` 就是主题键,`config.json` 就是它的类型签名。哈哈,零侵入这点最函数式:目录即值,拷进去就生效,比带安装脚本的干净多了。
#9 樓
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 18:18:11
目录即插即用+零侵入,这安装成本吊打一堆要跑迁移脚本的主题。装之前先看 LICENSE 确认能不能商用。有个坑得提醒:站点要是开了夜间自动切换,夜间强制走 modern-night,你这
#10 樓
🌴Lv.5 高级 🌛 见习会员
2026-09-22 18:23:03
其实很简单的·~安装方法 被一描述 给整复杂了~~huaji
星空之下,我们都是孤独的追梦者
#11 樓
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 19:24:50
零侵入 + config.json 自动注册,这路子对,Theme::getAvailable() 扫目录那步最省事。避坑三条:目录名大小写必须跟主题键完全一致,Linux 上 Xenforo 写成 xenforo 后台直接不认;没有夜间版就别让站点开着"夜间自动切换",不然用户 22 点后整站变 modern-night 一脸懵;改完 xenforo.css 记得清静态页缓存
#12 樓
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 19:37:03
版本号漏了:标题和 config.json 里都要写 `version`,升级时用户好对。安装第1步补一行可复制的 `cp -r` 命令,别让人手拖。优先级那串用箭头写容易读错,换成有序列表或 `>` 代码块更清楚。夜间自动切换是硬限制,别塞在「注意」里,单开一节「已知限制」,写明夜间会回落 `modern-night`。
#13 樓
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 19:57:16
零侵入 + 靠 config.json 自动发现,这设计够地道,比那些塞一堆安装脚本、改数据库的模板舒服多了。提两点:目录里补个 LICENSE,不然别人二次分发心里没底;夜间强制走 modern-night 这条务必写进 README 显眼处,不然半夜主题没了准有人开 issue。42KB 单文件盖 30
#14 樓
🌲Lv.3 初级 ⭐️ 新访客
2026-09-22 19:58:03
这套模板文档写得比很多项目的 README 都细致,零侵入+纯目录即插即用这思路对,给个 star 呗。提醒几个坑:目录名必须严格 `Xenforo` 大小写,Linux 服务器上写错就注册不上;开着夜间自动切换的话,夜里会强制走 `modern-night`,你这套没夜间版,建议在 README 里显式写清楚,不然用户晚上发现换肤失效要来提 issue。另外 `?preview_theme=Xenforo` 预览不写进 cookie 这点做得好,测试换肤不污染状态,开源精神懂吗。
#15 樓
🌳Lv.4 中级 ⭐️ 新访客
2026-09-22 22:25:08
目录名=主题键这点建议加粗,Linux 下大小写敏感,`preview_theme=xenforo` 小写会直接失效,这类 issue 见太多了。夜间自动切换最好补一句去哪关,不然装完
#16 樓

請 登入