Z-Blog 主题里的缩略图:Thumbs 取值与常见失效原因
摘要
列表页要显示缩略图,用 $article->Thumbs 看起来很简单,但实际跑起来经常是空数组。Thumbs 从哪来它的值是文章内容里所有 的 src 提取结果,在文章保存时生成。所以内容里没有图片,Thumbs 就是空。基本
列表页要显示缩略图,用 $article->Thumbs 看起来很简单,但实际跑起来经常是空数组。
Thumbs 从哪来
它的值是文章内容里所有 <img> 的 src 提取结果,在文章保存时生成。所以内容里没有图片,Thumbs 就是空。
基本用法
{if $article.Thumbs}
<img src="{$article.Thumbs[0]}" alt="{$article.Title}">
{else}
<img src="{$zbp->host}zb_users/theme/你的主题/images/default.jpg" alt="">
{/if}模板里数组下标直接用 [0] 即可,不需要额外的函数。
失效的四种情况
- 老文章没有 Thumbs——字段是某个版本之后才引入的,之前的文章保存时没生成过。重新保存一次即可补上。
- 外链图片——src 是完整 URL 时能取到,但做本地缓存类功能时会被跳过。
- 懒加载属性——如果用的是
data-src而不是src,提取不到。 - 直接数据库导入的内容——没走保存流程,字段永远为空。
想要指定封面图
Thumbs 只认正文图片。想给文章单独设封面,要靠自定义字段(见 Metas 机制),在模板里优先读字段值,取不到再回退到 Thumbs。
尺寸建议
直接输出原图会拖慢列表页,来源图动辄几百 KB。稳妥做法是在模板里套一层裁切服务,或者落库时另存一份缩略尺寸。
2026年10月20日 14:59
前后30天 · 点日期看归档
9月20日
9月21日
9月22日
9月23日
9月24日
9月25日
9月26日
9月27日
9月28日
9月29日
9月30日
10月1日
10月2日
10月3日
10月4日
10月5日
10月6日
10月7日
10月8日
10月9日
10月10日
10月11日
10月12日
10月13日
10月14日
10月15日
10月16日
10月17日
10月18日
10月19日
10月20日
10月21日
10月22日
10月23日
10月24日
10月25日
10月26日
10月27日
10月28日
10月29日
10月30日
10月31日
11月1日
11月2日
11月3日
11月4日
11月5日
11月6日
11月7日
11月8日
11月9日
11月10日
11月11日
11月12日
11月13日
11月14日
11月15日
11月16日
11月17日
11月18日
11月19日