Discuz! 的模板系统非常灵活,允许你覆盖官方默认模板来创建自己独特的风格,理解其文件结构是进行自定义修改的第一步。

discuz 自定义模板保存位置
(图片来源网络,侵删)

模板文件存放位置

Discuz! 的模板文件主要存放在网站的 template 目录下。

具体路径为:

你的网站根目录/
└── template/
    └── 默认模板文件夹名/
        └── 模板文件名.htm

详细说明与不同场景

官方默认模板

当你安装 Discuz! 后,官方会自带一个默认模板,通常叫做 default

  • 路径: /template/default/
  • 这里存放了所有默认页面的模板文件,
    • forumindex.htm (论坛首页)
    • viewthread.htm (帖子详情页)
    • forumdisplay.htm (版块列表页)
    • header.htm (页面头部公共部分)
    • footer.htm (页面底部公共部分)

重要提示: 强烈建议你不要直接修改 /template/default/ 目录下的文件。 因为当你下次升级 Discuz! 程序时,升级程序会自动覆盖 template 目录,导致你所有的自定义修改丢失,正确的做法是复制一份默认模板,进行重命名,然后修改你的新模板

discuz 自定义模板保存位置
(图片来源网络,侵删)

用户自定义模板(推荐方式)

这是最安全、最规范的自定义模板方式。

操作步骤:

  1. 复制默认模板文件夹

    • 通过 FTP 或文件管理器,进入 /template/ 目录。
    • default 文件夹完整复制一份,并重命名为你自己的模板名称,my_thememystyle
  2. 修改新模板文件

    discuz 自定义模板保存位置
    (图片来源网络,侵删)
    • 你的自定义模板路径是 /template/my_theme/
    • 你可以随意修改这个文件夹下的所有 .htm 文件,而不用担心升级会覆盖它们。
  3. 在后台应用新模板

    • 登录你的 Discuz! 后台。
    • 进入 「界面」->「风格管理」
    • 在风格列表中,你应该能看到一个以你新模板文件夹命名的新风格(系统会自动创建)。
    • 点击这个新风格右侧的 「设为默认」 按钮,或者点击 「预览」 按钮来测试效果。
    • 你也可以为不同的用户组、不同的版块设置不同的风格。

优点:

  • 安全:升级 Discuz! 不会影响你的自定义模板。
  • 灵活:你可以轻松地在多个风格之间切换。
  • 可扩展:你可以安装第三方开发者提供的模板风格包,只需要解压到 /template/ 目录下即可。

插件或应用的模板

一些第三方插件或 Discuz! 自带的某些应用(如门户、家园)也可能拥有自己的模板文件。

  • 路径: 通常位于插件或应用目录下的 template 子文件夹。
    • 某个插件的模板可能在 /source/plugin/插件名/template/
    • 门户模板的默认路径可能位于 /template/default/portal//template/default/forum/portal/

修改这些模板的规则和上述自定义模板类似:不要直接修改插件自带的模板,最好复制一份出来进行修改,或者查看插件的文档,看它是否支持在后台自定义模板。


模板文件命名规则与调用逻辑

了解模板文件的命名有助于你快速定位需要修改的页面。

  • 页面模板: 通常与页面文件名对应。forum.php 文件默认调用 forum.htm 模板。
  • 公共模板: 像 header.htm, footer.htm, common.htm 等是多个页面共用的部分,修改它们可以影响整个网站。
  • 子模板: 在一个大的模板文件(如 forumdisplay.htm)中,可以通过 {template sub_template_name} 这样的语法来调用另一个小的模板片段,帖子列表可能就是一个独立的子模板。

Discuz! 在渲染页面时,会按照以下顺序查找模板文件:

  1. 当前风格目录: /template/当前风格名/
  2. 默认风格目录: /template/default/

这意味着,如果你在当前风格目录下放了一个 header.htm,系统会优先使用你的,而不会去 default 目录里找,如果当前风格目录下没有某个页面模板,系统会自动回退到 default 目录去寻找。


总结与最佳实践

场景 保存位置 操作建议
官方默认模板 /template/default/ 禁止直接修改!仅作参考。
用户自定义模板 /template/你的自定义文件夹名/ 复制 default 文件夹进行修改,然后在后台应用,这是最推荐的方式。
插件/应用模板 插件或应用目录下的 template 文件夹 参考插件文档,通常不建议直接修改插件自带文件。

核心要点:

  1. 备份:在任何修改之前,务必备份你的网站文件和数据库。
  2. 使用 FTP/文件管理器:通过客户端工具(如 FileZilla, WinSCP)连接服务器进行文件操作,比使用网页后台的文件管理器更稳定、更高效。
  3. 修改后清缓存:修改模板文件后,如果页面没有立即更新,请到后台 「全局」->「清除缓存」 中清除模板缓存,或者直接删除 /data/template/ 目录下的缓存文件。
  4. 使用子主题:对于复杂的修改,可以创建一个空的“子主题”,只覆盖你想要修改的几个文件,这样可以大大减少升级时的冲突。