使用[field:litpic/] 标签
这是调用缩略图最核心、最常用的标签。[field:litpic/] 会输出当前文章(或栏目)的缩略图在服务器上的完整路径。

在文章列表页(arclist)中调用缩略图
这是最常见的需求,比如在首页、栏目页或其他列表页面显示文章列表,每条文章旁边都带一张缩略图。
基本用法:
{dede:arclist row='10' titlelen='30'}
<li>
<a href="[field:arcurl/]">
<img src="[field:litpic/]" alt="[field:title/]" />
</a>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
代码解析:
{dede:arclist ...}: 织梦的文章列表循环标签。row='10': 表示调用10篇文章,len='30'`: 表示标题最多显示30个字符。[field:litpic/]: 核心标签,输出缩略图路径。[field:arcurl/]: 输出文章的链接地址。[field:title/]: 输出文章标题。alt="[field:title/]": 为图片添加alt属性,这有助于SEO和无障碍访问,推荐使用。
页(article)中调用缩略图
当你需要单独显示某篇文章的缩略图时(例如在文章内容页的顶部或侧边栏)。

基本用法:
<img src="{dede:field name='litpic'/}" alt="{dede:field name='title'/}" />
代码解析:
{dede:field name='litpic'/}: 在内容页中,使用{dede:field}标签来调用文章的各个字段,name='litpic'就是指定调用缩略图路径。{dede:field name='title'/}: 调用文章标题,同样用于alt属性。
在栏目列表页(list)中调用栏目缩略图
如果你想在一个栏目页的某个位置显示该栏目本身的缩略图(而不是该栏目下文章的缩略图)。
基本用法:

<img src="{dede:field name='litpic'/}" alt="{dede:field name='typename'/}" />
代码解析:
- 在栏目列表页模板中,
{dede:field name='litpic'/}会直接获取当前栏目的缩略图。 {dede:field name='typename'/}获取当前栏目的名称。
重要:缩略图路径的类型与处理
织梦的[field:litpic/]输出的路径可能是以下几种形式,理解这一点至关重要:
-
完整路径 (Absolute Path):
- 格式:
/uploads/allimg/230515/123456.jpg - 这是最标准的路径,以网站根目录开头,这种路径在任何地方都能正确显示。
- 格式:
-
相对路径 (Relative Path):
- 格式:
../uploads/allimg/230515/123456.jpg - 这种路径在某些复杂的模板嵌套中可能会出错,因为它依赖于当前文件的位置。
- 格式:
-
带域名的完整路径 (Full URL):
- 格式:
http://www.yourdomain.com/uploads/allimg/230515/123456.jpg - 这种路径在任何地方都能工作,但有时可能会被浏览器安全策略(如HTTPS网站调用HTTP图片)或缓存问题困扰。
- 格式:
如何处理路径,确保图片能正确显示?
使用[field:litpic/]并确保后台设置正确
这是最推荐的方法,在织梦后台,确保你的网站地址(系统设置 -> 站点设置)填写的是正确的域名(如 http://www.yourdomain.com),织梦会自动处理路径,使其成为带域名的完整路径。
使用ResizeImg标签自动处理路径并缩放(非常强大)
织梦提供了一个非常强大的功能,可以自动处理缩略图路径,并支持在线裁剪缩放,这个标签是 ResizeImg。
语法:
[field:litpic function='ResizeImg(@me, 宽度, 高度, 1)']
@me: 代表当前字段的原始值(即原始路径)。宽度: 你希望显示的图片宽度。高度: 你希望显示的图片高度。1: 表示强制裁剪,如果为0,则按比例缩放,不裁剪。
示例:
{dede:arclist row='10'}
<li>
<!-- 调用缩略图,并强制将其缩放到 200x150 像素 -->
<a href="[field:arcurl/]">
<img src="[field:litpic function='ResizeImg(@me, 200, 150, 1)'/]" alt="[field:title/]" />
</a>
</li>
{/dede:arclist}
优点:
- 路径自动修正:无论后台存储的是相对路径还是完整路径,
ResizeImg都能生成正确的、可访问的图片路径。 - 动态缩放:你可以在模板中直接指定显示尺寸,无需重新生成缩略图,非常灵活。
- 性能优化:对于大图,可以动态生成小尺寸图片,加快页面加载速度。
常见问题与解决方案
问题1:图片不显示,显示为空白或一个叉。
-
原因1:图片路径错误。
- 检查:查看网页源代码,右键点击图片,选择“在新标签页中打开图片”,看是否能正常打开,如果不能,说明路径是错的。
- 解决:
- 确保文章或栏目已经成功上传了缩略图,在后台检查一下。
- 检查织梦后台的“系统设置 -> 核心设置”中的“附件目录”是否正确。
- 检查“系统设置 -> 站点设置”中的“网站主页”是否填写了正确的域名。
- 使用
ResizeImg标签,它能自动修正大部分路径问题。
-
原因2:服务器权限问题。
- 检查:图片文件是否存在,且Web服务器(如Apache/Nginx)是否有读取权限。
- 解决:通过FTP登录服务器,检查
/uploads/目录及其子目录的权限,确保可读。
问题2:调用的是文章中的第一张图片,而不是后台设置的缩略图。
- 原因:这是织梦的一个默认行为,如果后台没有设置缩略图,织梦会自动抓取文章内容中的第一张图片作为缩略图。
- 解决:如果你希望只调用后台明确设置的缩略图,可以这样修改:
- 方法A(推荐):使用
ResizeImg标签,它只处理后台设置的缩略图。 - 方法B:如果后台没有设置缩略图,就不显示图片,可以通过PHP判断来实现,但比较复杂,不如直接使用
ResizeImg。
- 方法A(推荐):使用
| 场景 | 推荐标签 | 说明 |
|---|---|---|
| 文章列表页 | [field:litpic/] 或 [field:litpic function='ResizeImg(...) |
ResizeImg 是更健壮、更灵活的选择。 |
| 页 | {dede:field name='litpic'/} |
标准用法,直接调用。 |
| 栏目列表页 | {dede:field name='litpic'/} |
调用当前栏目的缩略图。 |
最佳实践建议:
在所有需要调用缩略图的地方,都优先使用 [field:litpic function='ResizeImg(@me, 宽, 高, 1)'] 这种形式,它能最大程度地避免路径问题,并为你提供动态调整图片尺寸的便利性。
