迅睿CMS 主题二次开发:安全改模板不碰核心
摘要
先说结论迅睿CMS 二次开发的第一原则是「只改模板目录,绝不改核心目录」。核心一改,下次升级就全被覆盖。正确做法是复制一份官方模板到自定义目录,在副本上改。一、目录该改哪里、不该改哪里目录能否改说明template/✅ 可改模板目录,二次开
先说结论
迅睿CMS 二次开发的第一原则是「只改模板目录,绝不改核心目录」。核心一改,下次升级就全被覆盖。正确做法是复制一份官方模板到自定义目录,在副本上改。
一、目录该改哪里、不该改哪里
| 目录 | 能否改 | 说明 |
|---|---|---|
template/ | ✅ 可改 | 模板目录,二次开发主战场 |
config/ | ⚠️ 谨慎 | 站点配置,改前先备份 |
dayrui/(核心) | ❌ 不改 | 升级会覆盖,改动全部丢失 |
uploadfile/ | ❌ 不改 | 附件目录 |
cache/ | ❌ 不动 | 自动生成,可安全清空 |
二、安全二开的标准流程
- 找到当前使用的模板目录(后台可查);
- 复制一份为新模板目录,如
template/mytheme/; - 后台切换站点模板到新目录;
- 在新目录内修改,核心目录保持原样;
- 改完清理模板缓存,确认生效。
这样即使升级程序,只要 template 目录还在,样式和结构就都在。
三、改模板的常用手法
1. 只改样式,不改结构
优先加一份自定义 CSS(如 custom.css),在头部引入,覆盖原样式。这样原模板文件改动最小。
2. 加一块新区域(如公告条)
在 index.html 中插入自己的 HTML 片段,不删原有标签,降低出错概率。
3. 调整列表循环
复制原有列表标签,改 num 或 catid 即可,不要重写整个循环。
四、绝对不能碰的三类改动
- 不修改核心函数文件:要改行为优先找钩子或模板层解决;
- 不在模板里写复杂 PHP 逻辑:逻辑放控制器或插件,模板只做展示;
- 不硬编码域名:用站点变量,否则换域名会大面积失效。
五、升级前的必备动作
- 完整备份
template/目录; - 记录当前程序版本号;
- 在测试环境先升级一次,验证模板是否兼容;
- 升级后逐一检查:首页、列表、详情、搜索、表单。
六、用 Git 管理自定义模板(强烈推荐)
cd /www/wwwroot/你的站
git init
echo "cache/\nuploadfile/\nconfig/" > .gitignore
git add template/mytheme
git commit -m "初始自定义模板"以后每次改动都有记录,改坏了能一键回滚。
总结
二次开发的核心不是技术,是边界意识:模板层随便改,核心层一行不动,配置层改前备份。守住这三条,你的定制就能长期跟着程序一起升级。
2026年10月22日 10:42
前后30天 · 点日期看归档
9月22日
9月23日
9月24日
9月25日
9月26日
9月27日
9月28日
9月29日
9月30日
10月1日
10月2日
10月3日
10月4日
10月5日
10月6日
10月7日
10月8日
10月9日
10月10日
10月11日
10月12日
10月13日
10月14日
10月15日
10月16日
10月17日
10月18日
10月19日
10月20日
10月21日
10月22日
10月23日
10月24日
10月25日
10月26日
10月27日
10月28日
10月29日
10月30日
10月31日
11月1日
11月2日
11月3日
11月4日
11月5日
11月6日
11月7日
11月8日
11月9日
11月10日
11月11日
11月12日
11月13日
11月14日
11月15日
11月16日
11月17日
11月18日
11月19日
11月20日
11月21日