- 数据库:为
dede_taglist表添加一个存储缩略图路径的字段。 - 程序文件:修改相关文件,使其支持上传、保存和调用缩略图。
下面我将为你提供一套完整、详细的操作步骤,这套方案是目前最主流和稳定的实现方式。

操作步骤概览
- 修改数据库:为
dede_taglist表增加一个litpic字段。 - 修改后台管理文件:在TAG列表页添加上传缩略图的功能。
- 修改前台显示文件:在TAG列表页和TAG内容页中调用缩略图。
第一步:修改数据库
我们需要为存放TAG信息的dede_taglist表添加一个字段来存储缩略图路径。
-
登录你的网站数据库管理工具(如 phpMyAdmin)。
-
选择你的织梦数据库。
-
找到
dede_taglist这张表。
(图片来源网络,侵删) -
点击“结构”或“SQL”选项卡,执行以下SQL语句来添加新字段:
ALTER TABLE `dede_taglist` ADD `litpic` VARCHAR(255) NOT NULL DEFAULT '';
litpic:字段名,与织梦文章模型的缩略图字段名保持一致,方便调用。VARCHAR(255):数据类型,足够存储图片路径。NOT NULL DEFAULT '':设置字段非空,默认值为空字符串。
执行成功后,dede_taglist表中就会出现一个新的 litpic 字段。
第二步:修改后台管理文件
我们需要修改后台的TAG管理列表页,让管理员可以为每个TAG上传缩略图。
-
找到并打开文件: 文件路径:
/dede/tag_list.php
(图片来源网络,侵删) -
修改代码: 在文件中找到
//列表这一行,在其后(大约在第38行左右),添加以下代码,这段代码的作用是在列表页的表头中增加“缩略图”列。// 在这里添加 $fields['litpic'] = '缩略图';
修改后,
//列表部分的代码看起来像这样://列表 $fields['id'] = 'ID'; $fields['tag'] = '关键字'; $fields['total'] = '文档数'; $fields['weekcc'] = '本周收录'; $fields['monthcc'] = '本月收录'; $fields['addtime'] = '时间'; // 在这里添加 $fields['litpic'] = '缩略图';
-
保存文件: 将修改后的
tag_list.php文件上传回你的服务器,覆盖原文件。
完成这一步后,登录织梦后台 -> 核心 -> TAG标签管理,你会发现列表页多了一列“缩略图”,但目前还没有上传功能。 下一步我们将添加上传功能。
第三步:修改前台显示文件
这是最关键的一步,我们需要修改模板文件来调用缩略图。
1 修改TAG列表页模板
这个模板决定了当用户点击一个TAG后,进入的列表页面如何显示。
-
找到并打开模板文件: 文件路径:
/templets/default/taglist.htm(注意:如果你使用了其他模板,请在你自己的模板目录下找到对应的文件) -
修改代码: 在
taglist.htm文件中,找到调用TAG信息的地方,通常是一个循环{dede:tag},在这个标签内部添加{dede:tagimg}标签来调用缩略图。修改前(默认代码):
{dede:tag} <li><a href='[field:link/]'>[field:tag/]</a></li> {/dede:tag}修改后(添加缩略图):
{dede:tag} <li> <!-- [field:litpic/] 是我们第一步在数据库中添加的字段 --> <!-- 如果缩略图不为空,则显示缩略图,否则显示一个默认图片或不显示 --> <a href='[field:link/]'> <img src='[field:litpic/]' alt='[field:tag/]' onerror="this.src='/images/defaultpic.gif';this.onerror=null;" /> <span>[field:tag/]</span> </a> </li> {/dede:tag}代码解释:
[field:litpic/]:这是调用我们第一步在数据库中添加的litpic字段的值,即图片路径。onerror="this.src='/images/defaultpic.gif';this.onerror=null;":这是一个非常重要的技巧,如果某个TAG没有上传缩略图,[field:litpic/]会为空,导致图片加载失败。onerror事件会捕获这个错误,并将图片的src属性指向一个默认图片(/images/defaultpic.gif),防止网站出现破损的图标,请确保你的网站根目录下有这个默认图片,或者将其修改为你自己的默认图片路径。
-
保存文件: 将修改后的
taglist.htm文件上传回服务器。
2 修改TAG内容页模板
这个模板决定了在TAG列表页中,每篇文档的缩略图如何显示。
-
找到并打开模板文件: 文件路径:
/templets/default/article_article.htm(同样,如果你使用了其他模板,请找到对应的文件,这个文件通常用于文章内容页,而TAG列表页调用的是文章列表,所以需要修改文章列表的模板,通常是list_article.htm,但为了保险起见,我们修改文章内容页,确保所有地方都能正确显示。) -
修改代码: 在
article_article.htm文件中,找到文章缩略图的调用位置,通常是在{dede:field.body/}之前,或者在文章标题下方,添加或修改以下代码:<!-- 文章缩略图开始 --> {dede:field name='litpic'/} <!-- 文章缩略图结束 -->这段代码的作用是直接调用文章自身的缩略图,织梦的TAG内容页本质上就是文章内容页,所以直接调用文章的缩略图字段即可,织梦默认的模板中,这个字段通常已经被包含在
{dede:field.body/}里了(通过[field:imgurl/]),但显式地调用一次可以确保其显示。更推荐的做法(修改列表模板): 如果你想控制的是在TAG列表页中,每篇文档的缩略图样式,那么你应该修改的是 列表文档模板。 文件路径:
/templets/default/list_article.htm在这个文件中找到{dede:list}标签,并添加[field:litpic/]调用。{dede:list} <li> <a href="[field:arcurl/]"> <img src="[field:litpic/]" alt="[field:title/]" onerror="this.src='/images/defaultpic.gif';this.onerror=null;" /> </a> <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a> </li> {/dede:list} -
保存文件: 将修改后的模板文件上传回服务器。
第四步:如何为TAG上传缩略图?
完成以上所有步骤后,你可能会发现后台的TAG管理页还是没有上传按钮,这是因为我们只是增加了显示字段,但没有增加上传功能。
解决方法(推荐使用插件): 手动修改后台增加上传功能比较复杂,且容易出错,最简单高效的方法是使用现成的织梦插件。
-
搜索插件: 在织梦官方论坛、Dede58等知名的织梦资源网站上搜索关键词:“织梦TAG标签缩略图插件” 或 “dede taglitpic”。
-
下载并安装: 下载一个评价好、兼容你织梦版本的插件,通常插件包里会有详细的安装说明,一般步骤是:
- 将插件文件上传到指定目录(如
/dede/)。 - 在后台“系统” -> “插件管理”中安装或启用该插件。
- 插件通常已经帮你完成了前面第二步(修改后台管理文件)甚至第三步(修改模板)的工作。
- 将插件文件上传到指定目录(如
-
使用插件: 安装插件后,回到后台的TAG标签管理列表,你会发现每条TAG记录后面都有了“上传图片”或类似的按钮,点击它,就可以为该TAG上传缩略图了。
-
纯代码方案:适合有一定开发能力的用户,优点是稳定、不依赖插件;缺点是需要手动修改多个文件,且没有后台上传界面。
- 数据库:
ALTER TABLE ... ADD litpic ... - 后台:修改
tag_list.php增加列表列。 - 前台:修改
taglist.htm和list_article.htm(或article_article.htm) 调用[field:litpic/]。 - 上传:需要手动在数据库里填写
litpic字段,或自行开发上传功能。
- 数据库:
-
插件方案:强烈推荐给大多数用户,优点是简单、快速、功能完整;缺点是可能存在兼容性问题或需要少量授权。
- 搜索并下载“织梦TAG缩略图插件”。
- 按照插件说明安装。
- 在后台直接为TAG上传缩略图即可。
对于新手,我强烈建议你从 插件方案 开始尝试,如果插件无法满足你的需求,再考虑纯代码方案。
