Discuz! X3.2 的门户功能非常强大,是构建资讯、社区、博客类网站的核心,理解其模板机制,是进行个性化定制和二次开发的关键。

本文将分为以下几个部分:

  1. 核心概念:模板是什么?
  2. 模板文件结构详解
  3. 如何安装和使用新的门户模板
  4. 如何修改和自定义现有模板
  5. 常用模板标签与函数
  6. 推荐的 Discuz! X3.2 门户模板资源
  7. 注意事项与最佳实践

核心概念:模板是什么?

模板就是网站的“皮肤”和“骨架”,它决定了网站的布局、颜色、字体、图片等视觉元素,但不包含具体的内容(如文章标题、图片、评论等)。

在 Discuz! X3.2 中,模板和内容是分离的:

  • 模板文件:定义了“如何展示”(How to display),主要包含 HTML 代码和一些特殊的模板标签(如 {loop}{if})。
  • :定义了“展示什么”(What to display),存储在数据库中,通过 PHP 代码读取并填充到模板文件里。

这种分离的好处是,你可以随时更换模板,而不会丢失网站的文章、用户等数据。


模板文件结构详解

Discuz! X3.2 的模板文件位于服务器的 static/image/js/ 目录下,以默认模板 default 为例,其结构如下:

/static/
└── image/
    └── js/
        └── portal/              <-- 门户模板根目录
            ├── index.html       <-- 门户首页模板
            ├── list_category_1.html  <-- 分类1文章列表页模板
            ├── list_category_2.html  <-- 分类2文章列表页模板
            ├── view.html        <-- 文章详情页模板
            ├── block/           <-- 单块模板目录
            │   ├── recommend.html    <!-- 推荐位模板 -->
            │   ├── article_list.html <!-- 文章列表块模板 -->
            │   └── ...                <!-- 其他各种块模板 -->
            ├── style/           <-- CSS 样式文件目录
            │   ├── common.css     <!-- 公共样式 -->
            │   ├── portal.css    <!-- 门户专用样式 -->
            │   └── ...
            ├── script/          <!-- JS 脚本文件目录 -->
            └── images/          <!-- 模板所用图片目录 -->

关键文件说明:

  • index.html:这是最重要的文件,控制着整个门户首页的布局,它通过 {block} 标签来调用不同的内容块。
  • list_category_*.html:不同分类的文章列表页模板,如果你的所有分类都使用相同布局,可以只用一个 list.html
  • view.html页的模板。
  • block/ 目录:存放各种“内容块”的模板,比如首页的“热门文章”、“最新文章”、“专题”等,都是一个独立的块。index.html 就像是一个积木底板,block/ 里的文件就是一块块积木。

如何安装和使用新的门户模板

安装新的门户模板通常有两种方式:

通过 Discuz! 后台安装(推荐)

这是最简单、最安全的方式,适用于官方插件市场或第三方提供的模板安装包。

  1. 获取模板文件:通常是一个 .zip 压缩包。
  2. 登录 Discuz! 后台你的域名/admin.php
  3. 进入模板管理:在左侧菜单栏找到 【界面】 -> 【风格模板】 -> 【模板管理】
  4. 上传安装
    • 点击页面右上角的 【上传新模板】 按钮。
    • 在弹出的窗口中,点击 【选择文件】,选择你下载好的 .zip 模板包。
    • 点击 【开始上传】,Discuz! 会自动解压并安装模板。
  5. 启用模板
    • 安装完成后,在模板列表中你会看到新安装的模板。
    • 找到该模板,在 【操作】 列下点击 【使用】
    • 在弹出的确认框中,选择 【门户】 作为应用范围,然后点击 【提交】

访问你的网站首页,就会看到新的门户模板了。

手动上传(适用于开发者或无安装包的模板)

  1. 获取模板文件:通常是一个包含所有模板文件的文件夹(my_portal_template)。
  2. 通过 FTP 或服务器文件管理器,连接到你的服务器。
  3. 上传文件:将模板文件夹上传到 static/image/js/ 目录下,将 my_portal_template 文件夹上传,路径变为 static/image/js/my_portal_template/
  4. 在后台启用
    • 同样进入 【界面】 -> 【风格模板】 -> 【模板管理】
    • 此时你应该能看到手动上传的模板已经出现在列表里了。
    • 像方式一一样,点击 【使用】,并选择应用于 【门户】

如何修改和自定义现有模板

如果你只是想对现有模板做一些小改动,比如修改颜色、调整某个模块的位置,可以直接编辑模板文件。

  1. 准备工作

    • 强烈建议:在修改前,先备份整个模板文件夹(static/image/js/default/)。
    • 使用专业的代码编辑器,如 VS CodeSublime TextDreamweaver,避免使用记事本。
  2. 修改流程

    • 定位文件:根据你想修改的页面,找到对应的模板文件(如首页改 index.html,样式改 style/portal.css)。
      • HTML 结构:在 .html 文件中修改布局,增减 <div> 等标签。
      • CSS 样式:在 .css 文件中修改颜色、边距、字体等,推荐使用浏览器的“开发者工具”(按 F12),可以实时预览修改效果并找到对应的 CSS 类名。
      • 内容块:如果想修改首页某个模块(如“最新文章”)的显示方式,就去 block/ 目录下找到对应的 .html 文件进行修改。
    • 刷新缓存:修改完文件后,必须到后台清除缓存才能看到效果。
      • 进入 【全局】 -> 【缓存设置】
      • 点击 【更新全部缓存】【删除全部缓存】

常用模板标签与函数

模板文件中使用 Discuz! 的专属标签来动态调用数据,了解这些标签是二次开发的基础。

  • {block}:调用一个内容块。

    {block/area/area_list} <!-- 调用首页内容块列表 -->
    {block/position}      <!-- 调用当前位置导航 -->
  • {loop} ... {/loop}:循环输出数据,最常用的标签。

    {loop $articles $article}
        <h2><a href="{$article['url']}">{$article['title']}</a></h2>
        <p>{$article['summary']}</p>
    {/loop}

    $articles 是一个包含文章数据的 PHP 数组,$article 是循环中的每一个元素。

  • {if} ... {else} ... {/if}:条件判断。

    {if $article['thumb']}
        <img src="{$article['thumb']}" alt="{$article['title']}">
    {/if}
  • 常用变量

    • {$article['title']}
    • {$article['url']}:文章链接
    • {$article['summary']}:文章摘要
    • {$article['thumb']}:文章缩略图
    • {$article['author']}:文章作者
    • {$article['dateline']}:文章发布时间(时间戳)
    • {$category['name']}:分类名称
    • {eval echo date('Y-m-d', $article['dateline']);}:格式化时间戳
  • 全局变量

    • {$G}:全局配置变量,如 {$G['site_name']} 是网站名称。
    • {$uid}:当前登录用户 ID,未登录为 0。

推荐的 Discuz! X3.2 门户模板资源

寻找模板的几个主要渠道:

  1. 官方插件市场

    • 访问 你的域名/plugin.php?id=cloudmarket 或直接访问 Discuz! 官方网站。
    • 这里有大量官方认证和开发者发布的付费/免费模板,质量相对有保障,且通常兼容性较好。
  2. 第三方模板站

    • 搜索 "Discuz X3.2 门户模板",可以找到很多专业的 Discuz! 模板开发网站。
    • 注意:第三方模板质量参差不齐,可能存在兼容性问题或后门风险,请选择信誉好的商家,并在安装前做好网站备份。
  3. GitHub / Gitee

    • 有一些开发者会在这里分享他们的开源模板项目,你可以搜索 "Discuz X3.2 template"。
    • 优点:免费、开源、可自定义程度高。
    • 缺点:可能需要一定的技术能力来部署和修改,且不一定持续更新。
  4. 论坛社区

    在一些 Discuz! 技术交流论坛或 QQ 群里,也会有模板分享和交易。


注意事项与最佳实践

  1. 备份!备份!备份!:在修改模板、升级程序、安装插件前,务必备份数据库和网站文件,这是最重要的原则。
  2. 兼容性:下载模板时,务必确认其支持 Discuz! X3.2 版本,不同版本之间可能存在不兼容。
  3. 性能优化:复杂的模板,特别是首页加载了大量图片和 JS/CSS 的模板,可能会影响网站加载速度,注意优化图片大小、合并 CSS/JS 文件。
  4. 安全第一:避免从不明来源下载模板,以防被植入恶意代码。
  5. 从简单开始:如果你是新手,建议先从修改默认模板开始,熟悉了结构和标签后,再尝试安装和使用复杂的第三方模板。
  6. 利用开发者工具:浏览器的“开发者工具”(F12)是你调试模板的利器,可以实时查看元素、修改样式、定位问题,无需频繁上传文件和刷新缓存。

希望这份详细的指南能帮助你更好地理解和使用 Discuz! X3.2 的门户模板!