织梦首页模板路径在哪改?如何修改?

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 织梦建站 正文

修改默认模板目录(最常见)

织梦默认的模板目录是 /templets/,如果你想把它改成 /templates/ 或者 /my_theme/,可以按照以下步骤操作。

织梦首页模板路径修改
(图片来源网络,侵删)

步骤 1:修改系统配置参数

这是最核心的一步,告诉织梦新的模板路径在哪里。

  1. 登录织梦后台:使用你的管理员账号登录。
  2. 进入系统设置:在左侧菜单栏中,找到并点击 【系统】 -> 【系统基本参数】
  3. 找到模板路径设置:在“系统基本参数”页面,切换到 【核心设置】 选项卡。
  4. 修改参数值:找到名为 cfg_templets_dir 的参数,它的默认值通常是 templets,将它修改为你想要的新目录名,templatesmy_theme
    • 重要:这里只需要填写目录名,不需要包含前面的斜杠 ,织梦会自动在网站根目录下拼接这个路径。
  5. 保存设置:点击页面底部的 【保存】 按钮。

步骤 2:创建新的模板目录

  1. 通过FTP或你的主机控制面板的文件管理器,登录你的网站服务器。
  2. 进入网站根目录(通常是 public_htmlwww)。
  3. 创建一个新的文件夹,名称与你刚刚在后台设置的值一致(templates)。
  4. 将原来 /templets/ 目录下的所有文件和文件夹(如 default/, style/, images/ 等)复制到新的 /templates/ 目录中。

操作示例: 假设你的网站根目录是 /home/wwwroot/yourdomain.com/

  • 旧路径/home/wwwroot/yourdomain.com/templets/
  • 新路径/home/wwwroot/yourdomain.com/templates/
  • 操作:在根目录下创建 templates 文件夹,然后把 templets 里的所有东西都拷贝进去。

步骤 3:修改模板中的路径引用(如果需要)

如果你的模板文件(如 .htm 文件)中使用了绝对路径来引用模板内的资源(如CSS、JS、图片),你可能需要修改这些引用。

  • 相对路径(推荐):如果你的模板中使用的是相对路径(../images/logo.png/style/css.css),那么修改了模板目录后,这些路径通常不需要改变,因为它们是相对于当前文件位置的。
  • 绝对路径:如果模板中使用了 {dede:global.cfg_templets_dir/} 这个全局变量来引用模板路径,那么恭喜你,你不需要做任何修改,因为系统会自动使用新的路径。

检查并修改示例: 假设你的旧模板中有一行CSS引用是这样的:

织梦首页模板路径修改
(图片来源网络,侵删)
<link href="/templets/default/style/css.css" rel="stylesheet">

修改了模板目录后,你需要把它改成:

<link href="/templates/default/style/css.css" rel="stylesheet">

或者,更推荐使用织梦的全局变量,这样更具灵活性:

<link href="{dede:global.cfg_templets_dir/}/default/style/css.css" rel="stylesheet">

为不同栏目或页面设置不同模板目录

织梦本身不直接支持为不同栏目设置不同的模板目录,但你可以通过修改核心文件来实现。此操作有风险,请务必提前备份!

思路

通过修改 include/common.inc.php 文件,在程序初始化时动态地根据当前栏目ID或其他条件来改变 $cfg_templets_dir 的值。

织梦首页模板路径修改
(图片来源网络,侵删)

操作步骤(以根据栏目ID为例)

  1. 备份文件:在修改前,务必备份 include/common.inc.php 文件。

  2. 找到定义位置:用文本编辑器打开 include/common.inc.php 文件,找到下面这一行(通常在第60行左右):

    $cfg_templets_dir = $cfg_cmspath.'/templets';
  3. 添加判断逻辑:在这一行代码之前,添加一个判断逻辑,我们想让栏目ID为 12 的栏目使用 /special_templates/ 目录,其他栏目使用默认的 /templates/

    // 根据栏目ID动态设置模板目录
    if (isset($typeid) && in_array($typeid, array(1, 2))) {
        $cfg_templets_dir = $cfg_cmspath.'/special_templates';
    } else {
        $cfg_templets_dir = $cfg_cmspath.'/templates'; // 使用我们之前设置的新默认目录
    }

    代码解释

    • isset($typeid):检查当前是否有栏目ID(在列表页、内容页等页面,$typeid 是存在的)。
    • in_array($typeid, array(1, 2)):判断当前栏目ID是否在我们指定的列表中(这里是1和2)。
    • 如果条件满足,$cfg_templets_dir 就被赋值为新的路径 /special_templates
    • 否则,就使用我们在后台设置的默认值 /templates
  4. 创建对应目录:和场景一一样,你需要在网站根目录下创建 /special_templates/ 目录,并放入对应的模板文件。


使用多主题切换插件(推荐)

如果你需要频繁切换主题或者为不同模块使用不同风格,手动修改非常麻烦,使用现成的多主题切换插件是最佳实践。

  1. 搜索插件:在织梦官方论坛、DedeCMS官网或其他CMS资源网站搜索“织梦 多主题切换”、“织梦 模板切换”等关键词,可以找到很多成熟的插件。
  2. 安装插件:按照插件的说明文档进行安装,通常这些插件会在后台提供一个主题管理界面。
  3. 管理主题:在后台,你可以轻松地上传、启用、禁用不同的主题,每个主题都可以有自己的独立模板目录,插件会自动处理路径切换的逻辑,无需你手动修改核心文件。

优点

  • 安全:不修改核心文件,避免升级时被覆盖。
  • 方便:可视化操作,后台一键切换。
  • 灵活:可以轻松管理多个主题。

⚠️ 重要注意事项

  1. 备份!备份!备份! 在进行任何文件修改或核心代码调整之前,请务必备份数据库和所有网站文件,这是防止操作失误导致网站崩溃的唯一有效方法。
  2. 文件权限:修改目录后,确保新目录(如 /templates/)及其内部的文件和文件夹具有正确的读写权限(通常是755或644),否则可能导致模板无法加载或后台无法保存。
  3. 缓存问题:修改完路径后,如果发现网站没有变化,请清空织梦的缓存,可以在后台 【系统】 -> 【一键更新网站】 -> 【更新缓存】 中操作,或者直接删除 /data/tplcache/ 目录下的所有缓存文件。
  4. 检查路径:修改后,务必在前台和后台都检查一下网站是否正常显示,特别是图片、CSS、JS等资源是否能正确加载。
  5. 升级风险:如果你通过修改核心文件(如场景二)来实现功能,那么在未来升级织梦版本时,这些修改可能会被覆盖,你需要重新进行修改,使用插件可以避免这个问题。
场景 方法 优点 缺点 适用情况
修改默认目录 修改后台参数 + 复制文件 简单直接,官方支持 需要手动检查和修改模板内的路径引用 网站需要统一更换一个全新的模板目录
动态切换目录 修改 include/common.inc.php 灵活,可实现按栏目/页面切换 有风险,升级会失效,需要一定PHP基础 需要为特定栏目或页面使用完全不同的模板风格
使用插件 安装并配置多主题切换插件 安全、方便、功能强大 需要寻找和安装合适的插件 需要实现多主题、多风格切换的复杂网站

对于大多数用户来说,场景一已经足够满足需求,如果你有更复杂的需求,场景三(使用插件) 是最稳妥、最推荐的选择。

-- 展开阅读全文 --
头像
LabVIEW如何高效转C语言?关键点与坑在哪?
« 上一篇 03-31
dede当前栏目高亮如何实现?
下一篇 » 03-31
取消
微信二维码
支付宝二维码

目录[+]