迅睿CMS 主题二次开发:安全改模板不碰核心

· 迅睿CMS · 阅读 4
摘要

先说结论迅睿CMS 二次开发的第一原则是「只改模板目录,绝不改核心目录」。核心一改,下次升级就全被覆盖。正确做法是复制一份官方模板到自定义目录,在副本上改。一、目录该改哪里、不该改哪里目录能否改说明template/✅ 可改模板目录,二次开

先说结论

迅睿CMS 二次开发的第一原则是「只改模板目录,绝不改核心目录」。核心一改,下次升级就全被覆盖。正确做法是复制一份官方模板到自定义目录,在副本上改。

一、目录该改哪里、不该改哪里

目录能否改说明
template/✅ 可改模板目录,二次开发主战场
config/⚠️ 谨慎站点配置,改前先备份
dayrui/(核心)❌ 不改升级会覆盖,改动全部丢失
uploadfile/❌ 不改附件目录
cache/❌ 不动自动生成,可安全清空

二、安全二开的标准流程

  1. 找到当前使用的模板目录(后台可查);
  2. 复制一份为新模板目录,如 template/mytheme/;
  3. 后台切换站点模板到新目录;
  4. 在新目录内修改,核心目录保持原样;
  5. 改完清理模板缓存,确认生效。

这样即使升级程序,只要 template 目录还在,样式和结构就都在。

三、改模板的常用手法

1. 只改样式,不改结构

优先加一份自定义 CSS(如 custom.css),在头部引入,覆盖原样式。这样原模板文件改动最小。

2. 加一块新区域(如公告条)

在 index.html 中插入自己的 HTML 片段,不删原有标签,降低出错概率。

3. 调整列表循环

复制原有列表标签,改 num 或 catid 即可,不要重写整个循环。

四、绝对不能碰的三类改动

  • 不修改核心函数文件:要改行为优先找钩子或模板层解决;
  • 不在模板里写复杂 PHP 逻辑:逻辑放控制器或插件,模板只做展示;
  • 不硬编码域名:用站点变量,否则换域名会大面积失效。

五、升级前的必备动作

  1. 完整备份 template/ 目录;
  2. 记录当前程序版本号;
  3. 在测试环境先升级一次,验证模板是否兼容;
  4. 升级后逐一检查:首页、列表、详情、搜索、表单。

六、用 Git 管理自定义模板(强烈推荐)

cd /www/wwwroot/你的站
 git init
 echo "cache/\nuploadfile/\nconfig/" > .gitignore
 git add template/mytheme
 git commit -m "初始自定义模板"

以后每次改动都有记录,改坏了能一键回滚。

总结

二次开发的核心不是技术,是边界意识:模板层随便改,核心层一行不动,配置层改前备份。守住这三条,你的定制就能长期跟着程序一起升级。