【原创】discuz论坛分类信息中,帖子发布页有多个图片上传功能,如何调用指定的分类字段图片,并将调用出的代码过滤,只保留图片的方法-Discuz教程下载

【原创】discuz论坛分类信息中,帖子发布页有多个图片上传功能,如何调用指定的分类字段图片,并将调用出的代码过滤,只保留图片的方法

来自版块: Discuz教程发表于: 2025-2-12 18:30:59
216
0
如本资源下载地址失效,请点击此处进行反馈
原因,在论坛分类信息页设置了多个图片上传功能,如分别上传了图标、网站截图等,如下:
微信截图_20250212183126.png
那么此时发布帖子后,就会出现最后一次上传的图片,而不是指定的图片,且图片顺序会打乱,但是兔源码站长想要的效果是图标的地方只显示图标图片,内容页网站截图的地方只显示上传的截图图片,效果如下:
2.png
废话不多说,现在开始教程
1、首先进入网站后台——论坛——分类信息——字段管理(选择分类A到分类F即可),添加自己想要的字段信息,如下图
2.png
2、随后返回到分类信息,点击 添加分类 创建一个分类信息模板(兔源码这里不再复述),如下图
1.png
3、在网站后台——论坛——版块管理——找到需要开启分类信息的论坛版块 点击 编辑,如下图
3.png
4、进入编辑页面,选择 其他——分类信息 ,开启分类信息,如下图
4.png
5、在开启了分类信息的论坛版块中即可在发帖页上看到有添加的分类信息,如下图

那么如何像兔源码一样设置不同显示文字呢?
1、进入网站根目录——source——language——forum——打开文件 lang_misc.php
在代码
  1. 'sort_upload' => '上传',
复制代码
下方添加代码(可自定义名称)
  1. 'sort_ico' => '修改ico图标',
  2. 'sort_icos' => '上传ico图标',
  3. 'sort_img' => '修改网站截图',
  4. 'sort_imgs' => '上传网站截图',
复制代码
2、进入网站根目录——source——function——打开文件 function_threadsort.php
搜索代码
  1. } elseif($option['type'] == 'image') {
复制代码
将其下方代码
  1. $showoption[$option['identifier']]['value'] = '<button type="button" class="pn" onclick="uploadWindow(function (aid, url){updatesortattach(aid, url, \''.$_G['setting']['attachurl'].'forum\', \''.$option['identifier'].'\')})"><span>'.($optionvalue['value'] ? lang('forum/misc', 'sort_update') : lang('forum/misc', 'sort_upload')).'</span></button>
  2.         <input type="hidden" name="typeoption['.$option['identifier'].'][aid]" id="sortaid_'.$option['identifier'].'" value="'.$optionvalue['value']['aid'].'" tabindex="1" />'.
  3.         ($optionvalue['value']['aid'] ? '<input type="hidden" name="oldsortaid['.$option['identifier'].']" value="'.$optionvalue['value']['aid'].'" tabindex="1" />' : '').
  4.         '<input type="hidden" name="typeoption['.$option['identifier'].'][url]" id="sortattachurl_'.$option['identifier'].'" '.($optionvalue['value']['url'] ? 'value="'.$optionvalue['value']['url'].'"' : '').'tabindex="1" />
  5.         <div id="sortattach_image_'.$option['identifier'].'" class="ptn">';
复制代码
改为
亲爱的游客
注意,这里的代码中的ico和img为判断分类信息中,分类字段的变量名,需要一致,否则功能无法实现
3、进入网站根目录——source——module——forum——打开文件 forum_viewthread.php
在代码下方
  1. if(!defined('IN_Discuz')) {
  2.         exit('Access Denied');
  3. }
复制代码
插入如下代码:
数据库表分别单个查询调用的方法:
亲爱的游客

数据库表同时多个查询调用的方法:
亲爱的游客
【注意:其中optionid的id在数据表forum_typeoptionvar的value中,请自行登录数据库查看字段id】
4、进入网站根目录——template——默认模板 或当前使用模板 ——forum—— 打开文件 viewthread.htm (注意:这里是兔源码站长想要调用的文件页面,您需要根据自身需求设置不打开不同的文件)插入代码
  1. $tubiaos['url']
复制代码
  1. $jietus['url']
复制代码
这个调用代码可自定义命名
【需要注意的是,如果这么做的话,帖子列表页、标签列表页、搜索结果列表页的图片调用则会失败】
那么我们还可以通过其他方法来实现调用分类信息的图片,
进入网站根目录——template——默认模板 或当前使用模板 ——forum—— 打开文件 viewthread.htm(帖子文件)、forumdisplay_list.htm(帖子列表文件)
进入网站根目录——template——默认模板 或当前使用模板 ——tag——tagitem.htm(帖子列表文件)
进入网站根目录——template——默认模板 或当前使用模板 ——search——thread_list.htm(搜索结果列表文件)
代码如下
亲爱的游客
代码
  1. $tubiao
复制代码
为图片输出地址,到此功能实现,教程结束。

全部评论 0

您需要登录后才可以回帖 立即登录
登录
返回顶部