本文由 FlintHub 开发文档归档发布。原始文档日期见标题前缀,来源:20260806备份/最新的/后台样式交接_20260806.md。
SoSite 后台样式改造交接(2026-08-06)
本文档供新会话快速了解 SoSite 后台(admin)样式体系的现状、已知问题与改造建议。
项目:SoSite 轻量级 PHP 社区(单模板体系 modern + Alpine.js + htmx),工作目录
D:\phpstudy_pro\WWW。
一、后台整体结构
1. 后台入口判断
app/Views/layouts/main.php:6:$isAdminPage = strpos(REQUEST_URI, '/admin') === 0- 前台/后台共用同一布局文件 main.php(不是两套布局),仅
<head>的 CSS 加载分支不同 + 导航栏文案不同(前台导航 vs 后台「管理后台/返回前台」)
2. 后台 CSS 加载(main.php:19-32,后台分支)
<?php if ($isAdminPage): ?>
<?php endif; ?>
<?php $this->yield('css'); ?>
关键点:
- 后台全量加载 7 个 CSS(
style/layout/forum/pages/components/blog/admin)+ modern.css + fontawesome;home.css已移除(死文件) - 后台不走前台的
section('css')按需加载机制(前台已改造,后台保持全量) - modern.css 在最后加载,含旧版通用变量(
--primary-color等,modern.css:1622 起),后台旧样式依赖这些变量
3. 后台视图清单(app/Views/admin/,25 个文件)
blog_categories / blog_manage / categories / database / groups / index / levels / mail_settings / maintenance / permissions / plugin-edit / plugins / search_settings / settings / settings_basic / settings_display / tags / themes / thread_edit / threads / trashed / user_edit / users / verify / _sidebar
后台插件页也在此渲染:app/Views/plugins/{announcements,content_review,friend_links,seo}/admin.php(各自 plugin.json 注册 admin 路由 + 自带 /plugins/*/assets/style.css)
二、admin.css 样式体系(后台核心样式)
文件:assets/css/admin.css(26.9KB,660 行)
设计原则(文件头注释明确)
- 完全独立设计:所有色值硬编码(或 --c-* 变量),不依赖前台主题变量,不跟随 modern 配色主题
- 作用域隔离:所有选择器以
.admin-container/.admin-content/.admin-verify-wrapper为作用域(如.admin-container .xxx),避免污染前台
变量体系(仅作用于 .admin-container 内)
.admin-container {
--c-primary: #3b82f6; --c-primary-hover: #2563eb;
--c-success: #10b981; --c-danger: #ef4444; --c-warning: #f59e0b;
--c-text: #1e293b; --c-text-secondary: #475569;
--c-text-muted: #64748b; --c-text-light: #94a3b8;
--c-bg: #ffffff; --c-bg-light: #f1f5f9; --c-bg-hover: #f8fafc;
--c-border: #e2e8f0;
--c-sidebar-bg: #1b2a4a; --c-sidebar-hover: #25375e;
--c-sidebar-text: #94a3b8; --c-sidebar-text-active: #ffffff;
}主要模块(按文件章节)
| 章节 | 内容 |
|---|---|
| 1-2 | 变量 + 布局(grid 220px+1fr) |
| 3 | 侧边栏(深色 #1b2a4a,sticky top:90px,.admin-nav a + .nav-group-header 分组) |
| 4+ | 内容区 .admin-content、.admin-header、.admin-section、卡片 |
| 表格 | .admin-table(含响应式,≤575px 压缩 padding) |
| 表单 | .admin-form-*、.form-input、.form-label、.level-form-grid |
| 统计 | .admin-stats(grid,≤992px 2 列) |
| 按钮/徽章 | .btn-、.badge-、.alert-* |
| 工具类 | 文件末尾 .select-auto、.tag.tag-xs、.flex-start 等 |
| 主题管理 | .theme-card 系列(themes.php 专用) |
| 响应式 | ≤992px / ≤768px / ≤575px 三档 |
三、已知问题与遗留事项
1. admin.css 与 components.css 工具类大量重复(未清理,D 组)
同一工具类在两个文件各定义一份(已脚本确认双份存在):
mb-10 mb-12 mb-15 mb-20 mb-25 mb-30 mt-12 mt-15 mt-20 mt-30
gap-4 gap-6 gap-8 gap-10 gap-12 flex-center text-center
text-muted text-nowrap p-0- 风险:两处参数可能有差异(如
gap-44px vs 0.25rem),删除前需逐一 diff - 建议:以后台
--c-*体系为准合并,或后台视图改用 admin.css 自有工具类
2. app/Views/admin/admin.css 是孤儿文件(可删,待确认)
- 内容与
assets/css/admin.css:646-656完全重复(theme-card 系列) - 全库无引用:
asset()只解析assets/目录,永远加载不到它 - 来源:第三轮复制 Modern 模板时带过来的残留
- 删除属破坏性操作,用户尚未确认
3. !important 清理(已基本完成)
- 批 3 已清理:
.tag-xs(改.tag.tag-xs)、.theme-card:hover两处(去 !important) - 剩余 0 处(admin.css 已无 !important)
4. 其他遗留
protected/database/schema_mysql.sql、schema_sqlite.sql:V2.x 双数据库遗留死文件,全库 0 引用,待确认删除- 后台页面仍全量加载 7 个 CSS(未按需化)——如想优化可参考前台
section('css')机制,但后台页面少、非性能瓶颈,优先级低
四、后台改造建议(供新会话参考)
方向 1:后台样式现代化(用户诉求)
用户提到「想做一下后台的样式」,方向未定,可考虑:
- 沿用现有
.admin-*独立体系,优化视觉(间距/圆角/阴影/表格样式统一) - 或引入 modern 主题变量(
--mn-*)让后台跟随主题配色——注意与 admin.css 独立设计原则冲突,需用户拍板 - 后台是深色侧边栏 + 浅色内容区的经典布局,改造空间大
方向 2:工具类去重(D 组)
admin.css 与 components.css 双份工具类合并,按上述清单逐一 diff。
方向 3:孤儿文件清理
app/Views/admin/admin.css 可删;schema_mysql.sql/schema_sqlite.sql 可删(均待用户确认)。
五、环境速查(操作后台相关)
| 项 | 值 |
|---|---|
| PHP | D:\phpstudy_pro\Extensions\php\php8.2.9nts\php.exe -l <file> |
| MySQL | D:\phpstudy_pro\Extensions\MySQL8.0.12\bin\mysql.exe -h 127.0.0.1 -P 3306 -u so -p123456(库 so) |
| Web | phpstudy nginx 80 端口,curl http://127.0.0.1/admin(需登录,302 属正常) |
| 后台 URL | /admin(index)、/admin/themes、/admin/threads、/admin/trashed 等 |
| 后台视图 | app/Views/admin/*.php |
| 后台样式 | assets/css/admin.css(独立体系)+ components.css(工具类) |
| 后台侧边栏 | app/Views/admin/_sidebar.php(含导航分组) |
| 后台布局 | 与前台共用 app/Views/layouts/main.php($isAdminPage 分支) |
文档结束 — SoSite 后台样式交接,2026-08-06。