调用文章缩略图(最常用)
这是最基础的需求,通常用于首页、列表页的文章摘要图。

(图片来源网络,侵删)
在首页或列表页调用文章缩略图
使用 arc.listview.php 模板标签,通常在 index.htm 或 list_article.htm 等模板文件中使用。
代码:
{dede:arclist row='10' titlelen='30'}
<li>
<!-- [1] 调用缩略图 -->
<a href="[field:arcurl/]">
<img src="[field:picname/]" alt="[field:title/]" width="200" height="150">
</a>
<!-- [2] 调用文章标题 -->
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
代码解释:
{dede:arclist ...}: 这是织梦的文章列表标签,用于循环输出文章。row='10': 表示调用10篇文章,len='30'`: 表示标题最多显示30个字符。[field:picname/]: 这是核心,它用于获取当前文章的缩略图地址。[field:arcurl/]: 获取文章的链接地址。[field:title/]: 获取文章的标题,用作img标签的alt属性,有利于SEO。
页(文章页)调用缩略图
页模板 article_article.htm 中调用,语法稍有不同。

(图片来源网络,侵删)
代码:
<img src="{dede:field name='picname'/}" alt="{dede:field name='title'/}" width="200" height="150">
代码解释:
{dede:field name='picname'/}: 在内容页中,使用field标签来获取单个字段的值,name属性指定字段名。{dede:field name='title'/}: 同理,获取文章标题。
调用文章正文中的第一张图片
这个需求非常普遍,比如在列表页显示文章内容摘要,并配上正文的第一张图。
代码:

(图片来源网络,侵删)
{dede:arclist row='10' titlelen='30'}
<li>
<a href="[field:arcurl/]">
<!-- [核心代码] 调用正文第一张图 -->
<img src="[field:array runphp='yes']@me = GetFirstImg(@me);[/field:array]" alt="[field:title/]" width="200" height="150">
</a>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
代码解释:
[field:array runphp='yes']...[/field:array]: 这是一个强大的数组处理标签,可以在其中执行PHP代码。@me: 代表当前字段的原始值,在这里就是文章的body)。GetFirstImg(@me): 这是调用了织梦的一个内置函数GetFirstImg,它会从传入的字符串(@me,即文章正文)中提取出第一张<img>标签的src属性值。
调用图集中的图片
如果你的文章类型是“图集”,那么调用方式就和普通文章不同。
在列表页调用图集(调用第一张图片)
代码:
{dede:arclist row='10' titlelen='30' flag='p'} <!-- flag='p' 表示只调用图集类型的文章 -->
<li>
<a href="[field:arcurl/]">
<!-- [核心代码] 调用图集第一张图 -->
<img src="[field:litpic/]" alt="[field:title/]" width="200" height="150">
</a>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
代码解释:
flag='p': 这个属性非常重要,用于过滤出“图集”类型的文章。[field:litpic/]: 在图集中,litpic字段通常存储的是图集封面图,也就是上传时选择的第一张图片,所以用它来调用图集的第一张图是最直接的方式。
页调用所有图片
页 article_image.htm 中,你需要循环输出图集中的所有图片。
代码:
{dede:field name='imgurls' alt='图片集'}
{dede:img dd='2' num='10'}
<a href="[field:link/]" target="_blank">
<img src="[field:src/]" alt="[field:text/]" width="200" height="150">
</a>
{/dede:img}
{/dede:field}
代码解释:
{dede:field name='imgurls'}: 获取图集的所有图片信息,它是一个包含多个图片项的集合。{dede:img ...}: 这是专门用于循环输出图集图片的标签。dd='2': 表示每行显示2张图片。num='10': 最多显示10张图片。[field:src/]: 获取当前图片的地址。[field:link/]: 获取当前图片的大图链接(如果设置了)。[field:text/]: 获取当前图片的说明文字。
调用自定义字段中的图片
如果你在后台模型中添加了一个自定义字段来存放图片,myimage。
代码:
{dede:arclist row='10' titlelen='30'}
<li>
<a href="[field:arcurl/]">
<!-- [核心代码] 调用自定义字段 myimage -->
<img src="[field:myimage/]" alt="[field:title/]" width="200" height="150">
</a>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
代码解释:
[field:myimage/]: 直接使用你的自定义字段名即可,织梦会自动读取该字段的内容。
调用特定栏目(ID)的缩略图
你想在首页调用某个指定栏目(栏目ID为 1)的缩略图,这个缩略图是在后台“栏目管理”->“高级选项”中设置的。
代码:
{dede:channel type='top' typeid='1'}
<a href="[field:typelink/]">
<img src="[field:picname/]" alt="[field:typename/]">
</a>
{/dede:channel}
代码解释:
{dede:channel ...}: 这是栏目列表标签。typeid='1': 指定要调用的栏目ID。[field:picname/]:picname指的是栏目设置的“栏目图片”。[field:typelink/]: 指向该栏目的链接。[field:typename/]: 栏目的名称。
总结与注意事项
- 确保后台已上传图片:无论哪种调用方式,前提是后台必须已经上传或设置了相应的图片,否则会显示默认图片或空白。
- 检查字段名:调用自定义字段或栏目图片时,确保字段名
name或typeid写得完全正确,区分大小写。 - 图片路径问题:
- 如果图片上传时选择“不使用目录”,
[field:picname/]返回的是完整的路径,如/uploads/2025/10/xx.jpg。 - 如果选择使用目录,如
/uploads/202510/xx.jpg。 - 如果你的网站有二级目录(如
http://www.yoursite.com/),而图片在/uploads/下,直接使用[field:picname/]可能会导致路径错误,这时需要使用绝对路径,可以结合{dede:global.cfg_basehost/}来解决:<img src="{dede:global.cfg_basehost/}[field:picname/]" alt="...">
- 如果图片上传时选择“不使用目录”,
- 模板缓存:修改模板后,有时需要在后台“生成” -> “更新HTML” -> “更新主页”或“更新栏目页”才能看到效果。
希望这份详细的指南能帮助你解决在织梦中调用图片的各种问题!
