[开发]SoSite 后台样式改造交接(2026-08-06)

👑Lv.11 元老 🌞 骨干会员
2026-10-26 00:43:40

本文由 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 行)

设计原则(文件头注释明确)

  1. 完全独立设计:所有色值硬编码(或 --c-* 变量),不依赖前台主题变量,不跟随 modern 配色主题
  2. 作用域隔离:所有选择器以 .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-4 4px 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 可删(均待用户确认)。


五、环境速查(操作后台相关)

项值
PHPD:\phpstudy_pro\Extensions\php\php8.2.9nts\php.exe -l <file>
MySQLD:\phpstudy_pro\Extensions\MySQL8.0.12\bin\mysql.exe -h 127.0.0.1 -P 3306 -u so -p123456(库 so)
Webphpstudy 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。

轻量级、高性能、零 MySQL 依赖的PHP社区系统。
| 浏览 3 次 | 回复 0 次

全部回复 (0)

暂无回复

请 登录