做Discuz论坛开发时,经常会遇到这样的需求:比如有的帖子是视频教程,需要显示播放器样式;有的是普通图文帖,用默认样式就行。想让不同类型的帖子,在内容页展示不同的模板?其实不用复杂开发,跟着这4步走,小白也能搞定!第一步:先建个「分类标签」,给帖子分个类核心目的:给不同类型的帖子加个“识别标识”,系统后面才能根据这个标识选模板。
操作步骤超简单:
1. 登录论坛后台,找到「论坛」模块,点进去后选「分类信息」;
2. 点击“添加分类信息项”,填两个关键信息:
- 名称:随便起,比如你要区分视频教程,就填「视频教程」(好理解就行);
- 变量名:必须英文小写,比如「video」(记好这个名,后面代码要用,不能错!);
3. 提交保存,这样就创建好一个专属的“分类标签”了。
(界面参考:后台分类信息管理页里,会列出所有分类,新增的「视频教程」会显示在列表中,变量名是「video」)
第二步:给目标版块「启用」这个分类标签创建好标签后,得让某个版块的帖子能用上它,不然发帖时看不到这个选项。
操作步骤:
1. 后台找到「论坛」→「版块管理」,选中你要设置的版块(比如“快速建站课程”版块);
2. 进入版块设置后,切换到「其他」选项卡;
3. 找到「分类信息」设置项,勾选前面创建的「视频教程」,填个简单说明(比如“课程所属分类”);
4. 提交保存,这样这个版块的帖子就能用这个分类标签了。
(界面参考:版块的「其他」设置页,分类信息区域会显示已勾选的「视频教程」,可填写说明后提交)

第三步:发帖/编辑帖子时,给帖子「打标签」现在版块已经支持分类标签了,接下来发帖时,给需要特殊模板的帖子打上标签就行。
操作步骤:
1. 进入刚才设置好的版块,点「发表帖子」,或者编辑已有的帖子;
2. 发帖页面里,会看到「参数设置」区域(有的主题分类下面),找到「视频教程」的选项,选择对应的分类值(比如「视频课程」);
3. 正常填写帖子内容,提交发布。
这样这篇帖子就被打上了“视频课程”的标签,系统能识别它是特殊类型的帖子了。
(界面参考:发帖页面会显示「课程所属分类」的提示,下拉框可选择「视频课程」)
第四步:写段简单代码,让系统自动选模板这是最后一步,也是核心:让系统判断帖子有没有“视频课程”标签,从而调用不同模板。
先准备两个模板文件
1. 找到你论坛的模板文件夹(一般在 `template/你的模板名/forum/` 下);
2. 找到默认的帖子内容页模板 `viewthread.htm`,把它重命名为 `viewthread-old.htm`(相当于备份,给打了标签的帖子用);
3. 新建一个模板文件,命名为 `viewthread-new.htm`(给没打标签的普通帖子用,你可以自己修改这个模板的样式,比如换布局、加模块);
4. 再新建一个空白的 `viewthread.htm` 文件(这个是“入口文件”,用来判断该用哪个模板)。
把下面这段代码复制到新建的 `viewthread.htm` 里,保存即可:
<!--{if $_G['forum_option']['video']['value'] == '视频课程'}-->
<!--{template forum/viewthread-old}-->
<!--{else}-->
<!--{template forum/viewthread-new}-->
<!--{/if}-->代码意思:- 代码会先判断当前帖子的「video」变量值是不是「视频课程」;
- 如果是(也就是打了标签的帖子),就调用 `viewthread-old.htm` 模板;
- 如果不是(普通帖子),就调用 `viewthread-new.htm` 模板。
(界面参考:用记事本或代码编辑器打开新建的 `viewthread.htm`,粘贴代码后保存,文件内容就是这段判断代码)测试效果1. 发布两篇帖子:一篇打「视频课程」标签,一篇不打;
2. 分别点开两篇帖子,就能看到:打标签的用了旧模板,没打的用了新模板,实现了不同帖子自动调用不同模板的效果!
1. 变量名一定要一致:第一步的「video」和代码里的「video」必须完全一样,错一个字母都不行;
2. 模板路径别错了:新建的模板文件要和默认模板在同一个 `forum` 文件夹下;
3. 想加更多模板?比如还要区分“图文教程”“资源下载”,只要重复第一步新建分类标签,然后在代码里加 `elseif` 判断就行(比如 `<!--{elseif $_G['forum_option']['doc']['value'] == '图文教程'}-->` 调用另一个模板);
4. 改完模板后,记得在后台「工具」→「更新缓存」,不然可能看不到效果。
就这4步,不用复杂开发,纯操作+复制代码,就能实现Discuz不同帖子调用不同模板的功能,不管是做课程论坛、资源论坛,还是综合论坛,都超实用!








