dede缩略图src路径如何正确获取?

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 DEDE建站 正文

核心概念:缩略图存储位置

在织梦中,文章的缩略图信息(文件名)主要存储在两个地方:

dede 缩略图src
(图片来源网络,侵删)
  1. 主表 (dede_archives):在 litpic 字段中,存储的是相对路径/uploads/240607/1-24060H11242a2-50.jpg
  2. 附加表 (dede_addonarticle):如果开启了“使用远程图片”或某些特定设置,缩略图信息也可能存储在这里。

在前台模板中,我们不能直接使用 litpic 的值作为 src,因为它缺少网站的域名(根路径),必须手动拼接。


前台模板中调用缩略图 src

这是最常见的需求,在文章列表、文章内容页等模板中,你需要使用织梦的标签来获取完整的图片地址。

使用 {dede:field} 标签(推荐,最常用)

这是最标准、最安全的方法,织梦会自动处理路径拼接。

语法:

dede 缩略图src
(图片来源网络,侵删)
<img src="{dede:field.litpic/}" alt="{dede:field.title/}" />

说明:

  • {dede:field.litpic/}:会自动读取 litpic 字段的值,并为你拼接上网站的根目录(如 http://www.yourdomain.com),生成一个完整的、可访问的URL。
  • {dede:field.title/}:将文章标题作为 img 标签的 alt 属性,这有利于SEO。

示例(在列表页 list_article.htm 中):

{dede:list pagesize='10'}
    <li>
        <a href="[field:arcurl/]">
            <img src="[field:litpic/]" alt="[field:title/]">
        </a>
        <h2><a href="[field:arcurl/]">[field:title/]</a></h2>
    </li>
{/dede:list}

注意:在列表循环标签 {dede:list} 内部,可以直接使用简化的写法 [field:litpic/],它和 {dede:field.litpic/} 在此上下文中效果相同。

使用 {dede:arclist}

在首页、频道页等使用 {dede:arclist} 调用文章列表时,调用方式略有不同。

dede 缩略图src
(图片来源网络,侵删)

语法:

{dede:arclist flag='c' typeid='1' row='5'}
    <li>
        <a href="[field:arcurl/]">
            <img src="[field:litpic/]" alt="[field:title/]">
        </a>
    </li>
{/dede:arclist}
  • [field:litpic/]:同样,在 {dede:arclist} 的底层模板中,使用这个标签即可获取完整缩略图地址。

如果没有缩略图怎么办?(重要)

很多时候,文章没有上传缩略图,直接使用 {dede:field.litpic/} 会显示一个破损的图片图标,我们可以使用 if 条件语句来处理这种情况。

示例(带默认图片):

{dede:field name='litpic' runphp='yes'}
    if(@me == '') {
        @me = '/images/default_thumb.jpg'; // 设置你的默认图片路径
    } else {
        @me = @me; // 保持原样,织梦会自动拼接域名
    }
{/dede:field}

然后在模板中这样使用:

<img src="{dede:field name='litpic' runphp='yes'}...{...}{/dede:field}" alt="{dede:field.title/}" />

更简洁的写法(利用织梦默认值):

<img src="{dede:field.litpic function='(@me ? @me : "/images/default_thumb.jpg")'/}" alt="{dede:field.title/}" />

这种写法更推荐,代码更清晰。


后台管理修改缩略图

如果你需要在后台修改或添加缩略图,操作非常简单。

  1. 登录织梦后台
  2. 进入 “核心” -> “内容发布” -> “普通文章”“所有档案”
  3. 找到你想要修改的文章,点击 “编辑”
  4. 在文章编辑页面,找到 “缩略图” 这个输入框。
  5. 你可以:
    • 本地上传:点击“上传”按钮,从你的电脑选择图片并上传。
    • 远程图片:直接粘贴一个网络图片的URL地址。
    • 裁剪图片:上传后,可以点击“裁剪”按钮,对图片进行裁剪以获得合适尺寸的缩略图。
  6. 修改完成后,点击 “保存” 按钮即可。

自定义字段中调用缩略图 src

我们可能会使用自定义字段来存储缩略图,或者存储不同尺寸的缩略图(如大图、小图),调用方式与标准字段类似,只是字段名不同。

假设你有一个自定义字段名叫 smallpic

{dede:field} 标签中调用:

<img src="{dede:field.smallpic/}" alt="{dede:field.title/}" />

{dede:arclist}{dede:list} 中调用:

<img src="[field:smallpic/]" alt="[field:title/]" />

同样,也需要处理没有值的情况:

<img src="{dede:field.smallpic function='(@me ? @me : "/images/default_small.jpg")'/}" alt="{dede:field.title/}" />

总结与最佳实践

场景 推荐代码 说明
标准文章缩略图 <img src="{dede:field.litpic/}" alt="{dede:field.title/}" /> 最常用、最推荐,自动处理路径。
列表页循环内 <img src="[field:litpic/]" alt="[field:title/]" /> {dede:list}{dede:arclist} 内部使用简写。
无图时显示默认图 <img src="{dede:field.litpic function='(@me ? @me : "/images/default.jpg")'/}" ... /> 优雅地处理空值,提升用户体验。
自定义字段缩略图 <img src="{dede:field.your_field_name/}" ... /> your_field_name 替换为你的自定义字段名。
后台修改 进入文章编辑页,直接在“缩略图”框上传或输入URL。 后台操作,无需修改代码。

记住核心原则:织梦的 litpic 字段存的是相对路径,前台模板必须使用织梦提供的标签(如 {dede:field.litpic/})来获取完整的、可访问的 src 地址。

-- 展开阅读全文 --
头像
织梦如何调用栏目文章内容?
« 上一篇 今天
dede网站后台打不开
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码