{field} 是织梦模板引擎中最核心、最常用的标签,用于在列表页、内容页等地方调用文章(或栏目、图集等)的各种字段数据。

imglink 这个字段名通常与两种情况紧密相关:
- 中的第一张图片:这是最常见的用法,用于获取文章正文 (
body字段) 中上传或插入的第一张图片的地址。 - 自定义字段:如果你创建了一个类型为“图片”的自定义字段,那么在调用这个字段时,也会用到类似的标签。
下面我将分情况详细介绍。
调用文章正文中的第一张图片链接 (最常用)
这是织梦开发中一个非常经典的需求,通常用在列表页,让每条摘要显示一张缩略图。
在列表页 (list_*.htm) 中使用
在列表模板中,你需要在一个 语法: 参数详解: 完整示例 (列表页模板): 假设你的列表页模板想实现这样的效果:每条新闻标题旁边显示一张来自文章正文的缩略图。 注意:
如果某篇文章正文里没有图片, 带判断的示例: 如果你在后台“核心模型” -> “内容模型管理” -> 选择你的模型(如“文章”) -> “字段管理”中,添加了一个新的自定义字段,比如叫 那么在模板中调用这个字段的值就非常直接了。 语法: 示例: 假设你添加了一个名为 如果你需要获取这个图片的链接,而不是图片地址本身,并且这个字段在后台是“图片”类型,织梦会自动将其处理为一个可点击的链接,但如果你只是想获取图片的URL,直接使用 页,因为已经是在单篇文章的范围内,所以可以直接使用 或者更简洁的写法(在内容页 调用自定义图片字段: 重要提示: 希望这份详细的解释能帮助你完全理解在织梦中如何使用 {dede:list} 或 {dede:arclist} 循环内部使用 {field}

{field name='body' function='GetOneImgUrl(@me, 1)'/}
name='body':指定要操作的字段是文章的正文内容字段。function='GetOneImgUrl(@me, 1)':这是核心部分,它调用了一个名为 GetOneImgUrl 的自定义函数。
@me:这是织梦模板中的特殊变量,代表当前 {field} 标签所对应的原始字段值(在这里就是 body 字段的全部内容)。GetOneImgUrl(...):这是一个织梦内置的函数,它的作用是从一段HTML文本中提取出第一张图片的地址。1:这个数字参数的含义是:
1:返回图片的完整URL地址(http://www.yoursite.com/uploads/2025/10/01/xxx.jpg),这是最常用的。0:返回图片的本地相对路径(/uploads/2025/10/01/xxx.jpg)。<ul>
{dede:list pagesize='10'}
<li>
<!--
调用正文第一张图,并作为 <a> 标签的 href 属性指向文章链接。
将图片地址作为 <img> 标签的 src 属性。
-->
<a href="[field:link/]" target="_blank">
<img src="{field name='body' function='GetOneImgUrl(@me, 1)'}" alt="[field:title function='html2text(@me)'/]" width="100" height="100" />
</a>
<h2><a href="[field:link/]" target="_blank">[field:title/]</a></h2>
<p>[field:info/]</p>
</li>
{/dede:list}
</ul>
GetOneImgUrl 函数会返回空值,为了防止页面出现破损的图片图标,你可以使用织梦的 if 条件语句进行判断。{dede:list pagesize='10'}
<li>
{if GetOneImgUrl(@me, 1) != ''}
<a href="[field:link/]" target="_blank">
<img src="{field name='body' function='GetOneImgUrl(@me, 1)'}" alt="[field:title function='html2text(@me)'/]" />
</a>
{/if}
<h2><a href="[field:link/]" target="_blank">[field:title/]</a></h2>
</li>
{/dede:list}
调用自定义图片字段
litpic_ext(扩展缩略图),字段类型为“图片”。在列表页或内容页中使用
[field:自定义字段名/]
litpic_ext 的自定义图片字段。<!-- 在列表页循环中 -->
{dede:list}
<img src="[field:litpic_ext/]" alt="自定义图片" />
{/dede:list}
<!-- 在内容页 -->
<img src="{field:litpic_ext/}" alt="自定义图片" />
[field:litpic_ext/] 即可。
页 (
article_*.htm) 中使用{dede:field} 标签(注意没有 name 属性,因为它默认指向当前文章的字段)。
第一张图:**{dede:field name='body' function='GetOneImgUrl(@me, 1)'/}
@me 可以省略,因为上下文很明确):{dede:field.body function='GetOneImgUrl(@me, 1)'/}
<img src="{dede:field.litpic_ext/}" alt="自定义图片" />
总结与最佳实践
需求场景
推荐标签
示例
列表页:获取文章正文第一张图的URL
{field name='body' function='GetOneImgUrl(@me, 1)'/}<img src="{field name='body' function='GetOneImgUrl(@me, 1)'}">
列表页:获取自定义图片字段的URL
[field:自定义字段名/]<img src="[field:my_img_field/]">
GetOneImgUrl 时配合 {if} 标签进行判断,以避免无图文章出现破损图片,提升用户体验。{field} 用于循环内部(如列表页),{dede:field} 用于循环外部(如内容页或首页指定调用),虽然有时在列表页用 {dede:field} 也能工作,但遵循规范能避免很多奇怪的问题。field 标签来调用图片链接!
