核心概念

在DedeCMS中,模板的路径主要由两个核心配置决定:

dedecms 修改模板路径
(图片来源网络,侵删)
  1. 默认模板目录 (templets):这是系统存放所有模板文件的根目录,位于你的网站根目录下,/wwwroot/你的网站/templets/
  2. 模板风格路径 (cfg_df_style):这个配置决定了在 templets 目录下,具体使用哪个子文件夹来存放当前站点的模板文件,默认值通常是 default

修改模板路径主要有两种思路:

  • 方法一(推荐):修改 cfg_df_style,这是最简单、最安全的方法,相当于切换不同的“主题包”。
  • 直接修改 templets 目录的绝对路径,这种方法比较激进,适用于将模板完全放在网站根目录之外的特殊场景。

修改模板风格路径 (最常用、最安全)

这种方法的核心是告诉DedeCMS,你的模板文件不再存放在 templets/default/ 目录下,而是存放在 templets/你的新文件夹名/ 目录下。

操作步骤:

  1. 创建新的模板目录

    • 通过FTP或文件管理器,登录你的服务器。
    • 进入DedeCMS的安装目录,找到 templets 文件夹。
    • templets 文件夹内,创建一个新的文件夹,命名为你想要的风格名称,mythemev5
    你的网站根目录/
    ├── dedecms/              (DedeCMS程序目录)
    │   ├── templets/
    │   │   ├── default/     (原来的默认模板)
    │   │   └── mytheme/     (你新建的模板目录)
    │   │       ├── index.htm
    │   │       ├── list_article.htm
    │   │       └── ...
    │   └── ...
    └── ...
  2. 移动或复制模板文件

    dedecms 修改模板路径
    (图片来源网络,侵删)
    • 将你之前在 templets/default/ 目录下的模板文件(如 index.htm, list_article.htm, article_article.htm 等)复制到你新创建的 mytheme 目录中。
    • 强烈建议复制而不是移动,以便在出现问题时可以快速恢复。
  3. 修改数据库配置

    • 登录你的网站数据库管理工具(如 phpMyAdmin)。
    • 找到你的DedeCMS数据库,并打开 #@__sysconfig 数据表(#@__ 是你的数据库表前缀,默认是 dede_)。
    • 在该表中,找到 varname 字段为 cfg_df_style 的记录。
    • 修改该记录的 value 字段,将其值从 default 改为你新创建的文件夹名,mytheme
  4. 更新缓存

    • 登录DedeCMS的后台管理系统。
    • 进入 “系统” -> “系统基本参数” -> “性能选项”
    • 点击 “更新缓存” 按钮,确保新的配置立即生效。
  5. 验证

    • 清除浏览器缓存。
    • 重新访问你的网站首页和内页,检查页面是否正常显示。

修改默认模板目录路径 (不常用,有风险)

如果你想把模板目录完全移到网站根目录之外,或者自定义一个完全不同的路径,就需要修改 templets 的配置。

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

操作步骤:

  1. 创建新的模板目录

    • 在服务器上创建一个全新的目录,/data/templates/
  2. 移动或复制模板文件

    • 将原来 templets 目录下的所有文件和文件夹(包括 default 等)移动或复制到新的 /data/templates/ 目录中。
  3. 修改数据库配置

    • 登录 phpMyAdmin,打开 #@__sysconfig 数据表。

    • 找到 varname 字段为 cfg_templet_dir 的记录。

    • 修改该记录的 value 字段,将其值改为你的新模板目录的绝对路径

    • 重要提示:这里的路径是服务器上的绝对路径,而不是网站的URL。

      • Linux服务器/home/wwwroot/你的网站/data/templates
      • Windows服务器D:\web\你的网站\data\templates
  4. 检查并修改 include 文件路径

    • 在DedeCMS程序中,很多地方通过 include 语句引入模板,在 index.php 中可能会有类似 include(DEDETEMPLATE.'/index.htm'); 的代码。
    • 你需要检查所有包含模板的PHP文件,确保它们使用了正确的常量 DEDETEMPLATE,DedeCMS的核心文件已经处理好了这个常量,它指向 cfg_templet_dir 配置的值,只要你的 cfg_templet_dir 配置正确,这部分通常无需修改。
  5. 更新缓存

    • 同样,在后台 “系统” -> “系统基本参数” -> “性能选项” 中,点击 “更新缓存”
  6. 验证

    清除浏览器缓存,访问网站,检查所有页面是否正常。


重要注意事项

  1. 备份!备份!备份!

    • 在进行任何数据库或文件修改之前,务必备份你的网站文件数据库,这是防止操作失误导致网站崩溃的最佳实践。
  2. 文件权限

    • 修改完路径后,请确保Web服务器(如Apache或Nginx)对新模板目录有正确的读取权限,目录权限设置为 755,文件权限设置为 644
  3. 模板标签

    • 模板文件本身的内容(如 {dede:arclist} 等标签)不需要修改,因为DedeCMS会根据你修改后的路径去查找和解析这些文件。
  4. 第三方插件

    • 某些第三方插件可能有自己的模板文件,并且可能硬编码了默认的 templets/default 路径,如果你使用了这类插件,在修改主站模板路径后,可能需要额外配置或修改插件文件,否则可能导致插件页面样式错乱或无法显示。
方法 优点 缺点 适用场景
修改 cfg_df_style 安全、简单、官方推荐,不会影响程序核心结构。 只能在 templets 目录下创建子文件夹。 绝大多数情况,如更换网站主题、多站点管理。
修改 cfg_templet_dir 灵活性极高,可以将模板完全移出网站目录。 风险较高,可能因路径问题导致程序出错,且需要确保所有 include 语句正确。 特殊的项目架构需求,如将模板与程序完全分离,由独立的服务器提供。

对于99%强烈推荐使用方法一,它既能满足你修改模板路径的需求,又最大程度地保证了系统的稳定性和安全性。