DedeCMS 的模板路径设置主要涉及两个方面:

- 后台设置:全局性地指定模板文件所在的目录。
- 前台调用:在前台模板文件中,如何正确引用其他资源文件(如 CSS、JS、图片等)。
后台模板路径设置 (核心设置)
这是所有路径设置的基础,在后台,你可以指定默认的模板目录,这样系统就知道去哪里查找 .htm 模板文件。
操作路径: 登录 DedeCMS 后台 -> 系统 -> 系统基本参数 -> 核心设置
在这个页面中,找到以下几个关键选项:
cfg_templets_dir (模板目录)
- 作用:设置存放所有前台模板的根目录。
- 默认值:
/templets - 说明:
- 这里的路径是相对于你的网站根目录()的。
- 如果你不想把模板放在默认的
templets目录下,可以在这里修改,你可以改成/templates或/assets/templates。 - 修改后需要清空缓存才能生效,路径:系统 -> 性能选项 -> 更新系统缓存。
cfg_df_style (默认风格目录)
- 作用:在
cfg_templets_dir指定的目录下,进一步指定当前使用的模板风格子目录,这是实现“多套模板”功能的关键。 - 默认值:
default - 说明:
- 最终的模板文件完整路径是:
{cfg_templets_dir}/{cfg_df_style}/... - 默认情况下,系统会去
/templets/default/目录下寻找模板文件。 - 你可以在后台的 模板管理 -> 默认模板管理 中,为不同的页面(如首页、列表页、内容页)选择不同的模板文件,这些文件都存放在
/templets/default/目录下。 - 如果你想创建一套新的模板风格(比如一个名为
mynewstyle的新主题),你可以:- 在
/templets/目录下创建一个名为mynewstyle的新文件夹。 - 将
default目录下的模板文件复制到mynewstyle目录中,然后进行修改。 - 在后台 模板管理 -> 使用风格 中,将默认风格切换到
mynewstyle。
- 在
- 最终的模板文件完整路径是:
前台模板路径调用 (实际应用)
在编写 .htm 模板文件时,你经常需要引入 CSS、JavaScript、图片等资源文件,这里必须使用 DedeCMS 提供的专用标签,而不能使用相对路径(如 ../images/logo.png),因为这样会导致在不同层级的页面中路径错误。

核心标签:{dede:global.cfg_templets_dir/}
这个标签会输出后台设置的模板根目录(即 cfg_templets_dir 的值),是构建所有模板资源路径的基础。
调用当前风格目录的 CSS/JS 文件
这是最常用的情况,假设你的模板文件在 /templets/default/ 目录下,你的 CSS 文件在 /templets/default/css/ 目录下。
错误写法(不推荐):
<link rel="stylesheet" href="css/style.css">
这个路径在首页 (/index.htm) 是对的,但在文章页 (/plus/view.php?aid=123) 就会变成 /plus/css/style.css,导致路径错误。

正确写法(推荐):
使用 {dede:global.cfg_templets_dir/} 结合 cfg_df_style 来构建绝对路径。
<!-- 引入 CSS 文件 -->
<link rel="stylesheet" href="{dede:global.cfg_templets_dir/}/{dede:global.cfg_df_style/}/css/style.css">
<!-- 引入 JavaScript 文件 -->
<script src="{dede:global.cfg_templets_dir/}/{dede:global.cfg_df_style/}/js/jquery.min.js"></script>
解析:
{dede:global.cfg_templets_dir/}: 输出/templets{dede:global.cfg_df_style/}: 输出default- 两者组合起来就是
/templets/default/,然后再加上你自己的子目录和文件名,无论网站页面在哪个层级,路径都是绝对且正确的。
调用图片文件
调用图片的原理和 CSS/JS 完全一样。
示例:
假设你的 logo.png 图片存放在 /templets/default/images/ 目录下。
<img src="{dede:global.cfg_templets_dir/}/{dede:global.cfg_df_style/}/images/logo.png" alt="网站Logo">
特殊情况:网站根目录资源
如果你的 CSS、JS、图片等资源文件是存放在网站根目录下的(/css/, /images/),而不是在模板目录里,那么调用方式更简单。
示例:
网站根目录下有一个 /static/ 文件夹,里面有 css/style.css。
<link rel="stylesheet" href="/static/css/style.css">
或者使用 {dede:global.cfg_cmspath/}(通常代表网站根目录 ):
<link rel="stylesheet" href="{dede:global.cfg_cmspath/}/static/css/style.css">
修改模板路径的最佳实践
为了网站的整洁和可维护性,建议遵循以下实践:
- 保持默认设置:除非有特殊需求,否则
cfg_templets_dir保持/templets不变。 - 风格化管理:利用
cfg_df_style来管理不同的主题,每个主题(如default,mobile,company)都是一个独立的文件夹,包含其所有所需的css,js,images等。 - 使用绝对路径:在模板文件中,所有对资源的引用都应使用
{dede:global.cfg_templets_dir/}/{dede:global.cfg_df_style/}构建的绝对路径。 - 清空缓存:每次在后台修改了模板路径设置后,务必去 系统 -> 性能选项 -> 更新系统缓存 中清空缓存,否则修改不会立即生效。
| 设置/标签 | 作用 | 示例 |
|---|---|---|
后台 cfg_templets_dir |
定义模板根目录 | /templets |
后台 cfg_df_style |
定义当前风格子目录 | default |
前台 {dede:global.cfg_templets_dir/} |
输出模板根目录 | /templets |
前台 {dede:global.cfg_df_style/} |
输出当前风格目录 | default |
| 组合调用 | 构建正确的资源路径 | {dede:global.cfg_templets_dir/}/{dede:global.cfg_df_style/}/css/style.css |
掌握以上设置和标签的使用,你就可以灵活、正确地管理和调用 DedeCMS 的所有模板资源了。
