修改当前站点的模板路径(最常用)
这是最常见的情况,比如你想把默认的 default 模板换成你自己的 mytheme 模板,或者把模板文件移动到其他目录。

(图片来源网络,侵删)
修改步骤:
定位核心配置文件
你需要修改的文件是位于 caches/configs/ 目录下的 site.php 文件,这个文件存储了当前站点的所有配置信息。
编辑 site.php 文件
打开 caches/configs/site.php 文件,你会看到类似下面这样的数组结构:

(图片来源网络,侵删)
<?php return array ( 'siteid' => 1, 'name' => '我的网站', 'url' => 'http://www.yourdomain.com', 'theme' => 'default', // <-- 这就是关键! 'template' => 'default', // <-- 这个也很重要! // ... 其他配置项 );
这里有两个关键参数:
'theme' => 'default': 主题目录,这个值指向phpcms/templates/下的子目录。'theme' => 'mytheme'就表示使用phpcms/templates/mytheme/目录。'template' => 'default': 模板风格目录,这个值是theme目录下的一个子目录,它允许你在同一个主题下定义多种风格。'theme' => 'mytheme'且'template' => 'blue',那么模板的实际路径就是phpcms/templates/mytheme/blue/。
修改路径值
根据你的需求修改这两个值:
-
如果你想使用一个全新的主题:
(图片来源网络,侵删)- 假设你的新模板文件夹位于
phpcms/templates/my_new_theme/。 - 将
'theme' => 'default'修改为'theme' => 'my_new_theme'。 - 如果你的新主题下没有子风格目录,可以将
'template' => 'default'保持不变,或者也改成与theme同名的值(如'my_new_theme'),这取决于你的模板结构。
- 假设你的新模板文件夹位于
-
如果你只是想移动模板文件到其他位置:
- PHPCMS 默认的模板根目录是
phpcms/templates/,如果你想把它改成phpcms/my_custom_templates/。 - 这个操作比较复杂,不推荐直接修改,因为 PHPCMS 的很多底层代码都是硬编码指向
phpcms/templates/的。 - 推荐做法:在
phpcms/templates/目录下创建一个新目录(如my_custom_templates),然后将你的模板文件放进去,然后通过修改site.php中的'theme'值来指向这个新目录。
- PHPCMS 默认的模板根目录是
保存文件并刷新
保存 site.php 文件,然后清空一下缓存(删除 caches 目录下的 fields 和 views 文件夹),或者直接在后台“更新缓存”,刷新你的网站页面,新的模板路径就会生效。
修改 PHPCMS 全局默认模板路径
如果你想让所有新站点都使用一个默认的模板路径,而不是每次都去修改 site.php,你可以修改 PHPCMS 的全局配置。
修改步骤:
定位全局配置文件
这个文件是 phpcms/config.php,这是 PHPCMS 的全局核心配置文件,包含了数据库连接、默认设置等信息。
编辑 phpcms/config.php 文件
打开 phpcms/config.php,找到 $config 数组,在这个数组里,寻找与模板相关的配置项,通常你会看到类似这样的设置:
<?php // ... 其他配置 $config['default_template'] = 'default'; // 默认模板风格 $config['template_root'] = PHPCMS_PATH.'templates/'; // <-- 全局模板根目录 // ... 其他配置
$config['default_template']: 设置新站点创建时默认使用的模板风格。$config['template_root']: 全局模板根目录,这是一个非常重要的配置,它定义了所有模板的基准路径。
修改路径值
-
修改默认模板风格:
- 将
$config['default_template'] = 'default';修改为你想要的默认主题名,$config['default_template'] = 'mytheme';。
- 将
-
修改全局模板根目录(非常谨慎!):
- 将
$config['template_root'] = PHPCMS_PATH.'templates/';修改为你自己的路径,$config['template_root'] = PHPCMS_PATH.'my_custom_templates/';。 - 强烈建议:在做这个修改前,最好先备份整个网站和这个配置文件,因为这是一个全局性的改动,可能会导致系统找不到模板而报错。
- 将
保存文件并生效
保存 config.php 文件,这个修改是全局性的,不需要像站点配置那样手动清空缓存,但为了确保万无一失,清空一下 caches 目录下的缓存文件是个好习惯。
重要注意事项
- 缓存问题:修改模板路径后,如果页面没有变化,99% 的情况是因为缓存,请务必清空
caches目录下的fields和views文件夹,或者在后台执行“更新缓存”操作。 - 路径格式:确保你设置的路径是正确的,没有多余的斜杠()或反斜杠(
\),PHPCMS 在不同服务器环境下(Windows/Linux)对路径的处理可能略有不同,使用PHPCMS_PATH常量是一个好习惯。 - 文件权限:确保你的 Web 服务器(如 Apache、Nginx)对
caches目录和templates目录有写入权限,否则无法更新缓存。 - 代码兼容性:如果你使用的是高度定制过的 PHPCMS 版本,或者某些模块有自己的模板路径逻辑,直接修改全局配置可能会导致这些模块失效,在这种情况下,最好只使用场景一的方法,即针对单个站点进行修改。
- 模板标签:确保你的模板文件中使用的标签(如
{template "header"})与新的路径结构相匹配,如果你的主题是mytheme,那么在模板中调用header.html时,PHPCMS 会在phpcms/templates/mytheme/目录下寻找它。
| 修改目的 | 配置文件 | 关键配置项 | 适用场景 |
|---|---|---|---|
| 修改当前站点模板 | caches/configs/site.php |
'theme' 和 'template' |
最常用,适用于二次开发、主题切换。 |
| 修改全局默认模板 | phpcms/config.php |
$config['default_template'] 和 $config['template_root'] |
需要统一所有新站点模板时使用。 |
对于绝大多数用户来说,场景一 是你需要掌握的核心方法,修改后清空缓存是关键步骤。
