- 栏目缩略图是什么?
- 如何为栏目添加缩略图?
- 如何在模板中调用栏目缩略图?
- 常见问题与解决方案。
栏目缩略图是什么?
栏目缩略图是为你的每个栏目设置的一张小图片,通常用在以下场景:

- 首页栏目调用: 在网站首页以图文并茂的形式展示各个主要栏目。
- 列表页模板: 在栏目列表页,每个条目旁边显示其所属栏目的缩略图。
- 频道封面页: 为频道(顶级栏目)设置一张封面图,提升视觉效果。
它能让网站摆脱纯文字的枯燥,信息传达更高效,用户体验也更好。
如何为栏目添加缩略图?
这个过程分为两步:在后台设置图片 和 确保数据库字段存在。
在后台上传缩略图
-
登录织梦后台:使用你的管理员账号登录。
-
进入“栏目管理”:在左侧菜单栏找到
核心->栏目管理,并点击进入。
(图片来源网络,侵删) -
选择并编辑栏目:在栏目列表中,找到你需要添加缩略图的栏目,点击其右侧的
[更改]按钮。 -
上传或选择图片:在弹出的栏目编辑页面中,向下滚动,找到 “栏目图片” 这一栏。
- 你可以直接点击
上传按钮,从本地上传一张图片。 - 也可以点击
选择按钮,从织梦的媒体库中选择已经上传好的图片。 - 建议尺寸:为了保持网站风格统一,建议提前规划好缩略图的尺寸(200x150像素)。
- 你可以直接点击
-
保存设置:选择好图片后,点击页面底部的
确定按钮保存。
至此,你已经成功为栏目添加了缩略图,这张图片会被保存在 /uploads/allimg/ 目录下,并在数据库中记录其路径。

检查数据库字段(重要!)
你会发现后台明明设置了图片,但在前台模板中却调用不出来,这很可能是因为你的数据库中缺少 typedir 或 channeltype 等相关字段,或者 litpic 字段不存在或有问题。
litpic 是存储栏目缩略图路径的核心字段。
如何检查和添加 litpic 字段?
- 登录phpMyAdmin:通过你的主机控制面板进入phpMyAdmin,选择你的织梦网站数据库。
- 找到
dede_arctype表:栏目信息都存储在这个表中。 - 检查字段:在
dede_arctype表的结构中,查找是否存在名为litpic的字段,如果不存在,你需要手动添加。- 点击
添加字段。 - 字段名填写:
litpic - 类型选择:
VARCHAR - 长度/值设置为:
255 - 保存。
- 点击
如果你的网站是旧版本或者模板被修改过,也可能缺少 typedir 字段,它的作用是存储栏目的完整路径,检查方法同上,添加一个 VARCHAR(255) 类型的 typedir 字段。
如何在模板中调用栏目缩略图?
织梦提供了非常灵活的标签来调用栏目信息,调用缩略图主要使用 这是最常见的用法,通常使用 示例代码(放在首页模板 代码解析: 如果你想在列表页的文章列表中,每篇文章旁边都显示其所属栏目的缩略图,可以使用 示例代码(放在栏目列表页 更简洁的调用方式(推荐): 如果你的列表页模板是基于织梦默认的,可以直接这样调用: 注意: 问题1:后台设置了图片,前台 问题2:图片路径不正确,无法显示。 问题3:图片显示过大或过小,样式错乱。 或者使用CSS来控制,更灵活。 然后在CSS文件中定义: 希望这份详细的指南能帮助你顺利地在织梦CMS中使用栏目缩略图功能!{dede:field}
在首页调用顶级栏目缩略图
{dede:channelartlist} 标签来循环列出顶级栏目,然后在内部使用 {dede:field} 获取当前栏目的缩略图。index.htm 中):{dede:channelartlist typeid='top' row='8'}
<dl>
<dt>
<a href="{dede:field name='typeurl'/}">
<!-- 调用栏目缩略图,如果为空则显示默认图片 -->
<img src="{dede:field.litpic/}" alt="{dede:field.seotitle/}" onerror="this.src='/images/default.jpg';this.onerror=null;" />
</a>
</dt>
<dd>
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
</dd>
</dl>
{/dede:channelartlist}
{dede:channelartlist typeid='top' row='8'}:
typeid='top': 指定调用顶级栏目。row='8': 限制只调用8个栏目。{dede:field name='typeurl'/}: 调用当前栏目的链接地址。{dede:field name='typename'/}: 调用当前栏目的名称。{dede:field.litpic/}: 这就是调用栏目缩略图的关键标签,它会直接输出你在后台设置的图片路径,/uploads/allimg/230101/c-230101123456.jpg。onerror="this.src='/images/default.jpg';this.onerror=null;": 这是一个非常实用的技巧,如果某个栏目没有设置缩略图(litpic为空),图片加载失败时会自动显示 /images/ 目录下的 default.jpg 这张默认图片,避免显示一个丑陋的 broken icon,你需要提前准备好一张默认图片并放到这个路径。在栏目列表页调用本栏目的缩略图
{dede:field.typeid} 先获取当前栏目ID,再通过 {dede:gettopid} 等方式关联,但更简单的方法是在文章循环标签 {dede:list} 外部先获取栏目信息。list_article.htm 中):<!-- 先获取当前栏目的信息 -->
{dede:field name='array' runphp='yes'}
$typeid = @me['typeid'];
$dsql = new Dedesql(false);
$row = $dsql->GetOne("SELECT litpic FROM `dede_arctype` WHERE id = $typeid");
@me = $row['litpic'];
{/dede:field}
<!-- 在文章列表中使用 -->
{dede:list pagesize='10'}
<li>
<!-- 显示文章标题和链接 -->
<a href="[field:arcurl/]">[field:title/]</a>
<!-- 在文章旁边显示栏目缩略图 -->
<img src="{dede:field name='litpic'/}" alt="[field:typename/]" width="100" height="75" />
</li>
{/dede:list}
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<!-- 直接调用文章所属栏目的缩略图 -->
<img src="[field:typelitpic/]" alt="[field:typename/]" />
</li>
{/dede:list}
[field:typelitpic/] 这个标签在某些版本的织梦或特定模型下可能默认不支持,如果它不起作用,说明你需要修改 include/arc.listview.class.php 文件,在 GetArcList 方法中为 $row 数组添加 typelitpic 字段,其值从 dede_arctype 表中查询,这属于进阶操作,如果不确定,建议使用上面第一种PHP代码块的方式。
常见问题与解决方案
{dede:field.litpic/} 调用不出来,显示为空。
dede_arctype 表中缺少 litpic 字段。litpic 字段。{dede:field.litpic} (少了结尾的)。
dede_arctype 表中 litpic 字段的值,如果是以 开头的绝对路径,在更换域名后通常没问题,如果是以域名开头的完整路径(如 http://www.old-domain.com/...),则需要批量替换,可以使用phpMyAdmin的搜索替换功能,将旧域名替换为新域名。
<img> 标签设置 width 和 height 属性,或者设置的尺寸与图片原始尺寸不符。<img src="{dede:field.litpic/}" alt="..." width="200" height="150" />
<img src="{dede:field.litpic/}" alt="..." class="category-thumbnail" />
.category-thumbnail {
width: 200px;
height: 150px;
object-fit: cover; /* 保持图片比例,并填充整个区域 */
}
