修改当前站点的模板路径(最常用)

这是最常见的情况,比如你想把默认的 default 模板换成你自己的 mytheme 模板,或者把模板文件移动到其他目录。

phpcms 修改模板路径
(图片来源网络,侵删)

修改步骤:

定位核心配置文件

你需要修改的文件是位于 caches/configs/ 目录下的 site.php 文件,这个文件存储了当前站点的所有配置信息。

编辑 site.php 文件

打开 caches/configs/site.php 文件,你会看到类似下面这样的数组结构:

phpcms 修改模板路径
(图片来源网络,侵删)
<?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 修改模板路径
    (图片来源网络,侵删)
    • 假设你的新模板文件夹位于 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' 值来指向这个新目录。

保存文件并刷新

保存 site.php 文件,然后清空一下缓存(删除 caches 目录下的 fieldsviews 文件夹),或者直接在后台“更新缓存”,刷新你的网站页面,新的模板路径就会生效。


修改 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 目录下的缓存文件是个好习惯。


重要注意事项

  1. 缓存问题:修改模板路径后,如果页面没有变化,99% 的情况是因为缓存,请务必清空 caches 目录下的 fieldsviews 文件夹,或者在后台执行“更新缓存”操作。
  2. 路径格式:确保你设置的路径是正确的,没有多余的斜杠()或反斜杠(\),PHPCMS 在不同服务器环境下(Windows/Linux)对路径的处理可能略有不同,使用 PHPCMS_PATH 常量是一个好习惯。
  3. 文件权限:确保你的 Web 服务器(如 Apache、Nginx)对 caches 目录和 templates 目录有写入权限,否则无法更新缓存。
  4. 代码兼容性:如果你使用的是高度定制过的 PHPCMS 版本,或者某些模块有自己的模板路径逻辑,直接修改全局配置可能会导致这些模块失效,在这种情况下,最好只使用场景一的方法,即针对单个站点进行修改。
  5. 模板标签:确保你的模板文件中使用的标签(如 {template "header"})与新的路径结构相匹配,如果你的主题是 mytheme,那么在模板中调用 header.html 时,PHPCMS 会在 phpcms/templates/mytheme/ 目录下寻找它。
修改目的 配置文件 关键配置项 适用场景
修改当前站点模板 caches/configs/site.php 'theme''template' 最常用,适用于二次开发、主题切换。
修改全局默认模板 phpcms/config.php $config['default_template']$config['template_root'] 需要统一所有新站点模板时使用。

对于绝大多数用户来说,场景一 是你需要掌握的核心方法,修改后清空缓存是关键步骤。