- 系统自带的默认图片:即DedeCMS安装后,在系统目录中自带的一些占位图片。
- 用户自定义的默认图片:这是更常用、更灵活的方式,即网站管理员自己准备一张图片,设置为当文章没有上传缩略图时自动显示的图片。
下面我将从这两个方面为你详细说明。

(图片来源网络,侵删)
系统自带的默认缩略图素材
DedeCMS在安装时,会在核心目录中自带一些默认的图片,通常用作无图时的占位符,它们的位置主要在:
-
默认无缩略图图片
- 路径:
/dede/images/defaultpic.jpg - 用途:这是最核心的默认图片,当你在后台发布文章时,如果没有上传缩略图,系统在调用缩略图(如
{dede:field name='litpic'/})时,就会默认显示这个图片。 - 特点:这是一张很小的、带有"DedeCMS"字样的蓝色图片,网站上线前都会被替换掉。
- 路径:
-
栏目默认图片
- 路径:
/dede/images/nopic.gif - 用途:用于栏目列表页面,如果某个栏目没有设置封面图片,可能会显示这个默认图。
- 路径:
-
默认会员头像
(图片来源网络,侵删)- 路径:
/dede/images/defaultpic.gif - 用途:新注册的会员,如果没有上传头像,系统会使用这个默认头像。
- 路径:
系统自带的这些图片功能简单,但样式非常简陋,不适合直接用于商业网站。强烈建议使用自定义的默认缩略图。
如何设置自定义的默认缩略图素材(推荐方法)
这是最实用、最常用的方法,通过修改模板文件,让系统在你没有上传缩略图时,显示你预先准备好的、符合网站风格的图片。
这里提供两种主流的实现方法,推荐使用 方法二,因为它更灵活。
直接修改 article_add.php 文件(不推荐,有局限性)
这种方法的核心是在你发布文章时,如果没传图,就自动帮你把你的默认图片路径写入数据库。
-
准备默认图片
- 在你的网站目录(
/images/)下,放置一张你准备好的默认缩略图,比如命名为no_thumb.jpg。 - 图片路径为:
/images/no_thumb.jpg
- 在你的网站目录(
-
修改发布文件
- 使用FTP或文件管理器,打开
/dede/article_add.php文件。 - 找到处理缩略图的代码段,通常在文件末尾,包含
//处理缩略图的注释附近。 - 在
$litpic = $GLOBALS['cfg_basehost'].$_FILES['pic']['name'];这类代码之后,添加一个判断逻辑:// ... 其他代码 ...
// 处理缩略图 if(empty($litpic)) { // 如果没有上传缩略图,则设置默认缩略图路径 // 请将下面的路径替换为你自己的图片路径 $litpic = $GLOBALS['cfg_basehost'].'/images/no_thumb.jpg'; }
// ... 其他代码 ...
* **注意**:`$GLOBALS['cfg_basehost']` 会自动获取你的网站域名,所以图片路径最好使用绝对路径(从网站根目录开始)。 - 使用FTP或文件管理器,打开
方法的缺点:
- 侵入性强:修改了核心文件,未来升级DedeCMS时可能会被覆盖,需要重新修改。
- 不够灵活:如果未来想更换默认图,又要修改这个文件。
修改模板标签(推荐,最灵活、最规范)
这种方法不修改任何PHP文件,只在需要调用缩略图的模板文件里进行修改,当网站升级时,模板文件不会被覆盖,非常安全。
核心思路是:使用DedeCMS的 if 条件语句判断,如果缩略图不为空,则显示缩略图;如果为空,则显示你的默认图。
-
准备默认图片
- 同样,在网站目录(如
/images/)下放置你的默认缩略图,no_thumb.jpg。
- 同样,在网站目录(如
-
修改模板文件
- 找到你需要调用缩略图的模板文件,
- 文章列表页:
/templets/default/list_article.htm - 页:
/templets/default/article_article.htm - 相关文章/推荐文章模板:
/templets/default/likearticle.htm等
- 文章列表页:
- 在这些文件中,找到调用缩略图的标签,通常是:
<a href='[field:arcurl/]'><img src='[field:litpic/]' /></a>
- 将其替换为以下 条件判断代码:
{dede:if field="litpic" runphp="yes"} @me = '<a href="[field:arcurl/]"><img src="[field:litpic/]" /></a>'; {else} @me = '<a href="[field:arcurl/]"><img src="/images/no_thumb.jpg" /></a>'; {/dede:if}
代码解释:
{dede:if field="litpic" runphp="yes"}:判断当前文章的缩略图字段litpic是否有值。@me = '...':litpic有值(即上传了缩略图),就执行这里的代码,显示文章本身的缩略图。{else}:litpic为空(即没有上传缩略图),就执行else部分的代码。@me = '<img src="/images/no_thumb.jpg" />':显示你准备好的默认图片。- 注意:
src="/images/no_thumb.jpg"中的路径是相对于网站根目录的绝对路径,请确保路径正确。
- 找到你需要调用缩略图的模板文件,
方法的优点:
- 非侵入性:不修改核心文件,升级无忧。
- 灵活:可以在任何模板中独立设置,甚至可以为不同栏目设置不同的默认图。
- 规范:符合模板分离的思想,是官方推荐的最佳实践。
针对DedeCMS V5.7及更高版本的“后台全局设置”
在较新版本的DedeCMS中,官方在后台增加了一个更简单的全局设置选项。
- 登录DedeCMS后台。
- 进入 “系统” -> “系统基本参数”。
- 在左侧菜单中找到 “核心设置”。
- 在右侧的参数列表中,找到 “未定义图片默认地址” 或类似名称的选项。
- 在输入框中填入你的默认图片的完整路径,
/images/no_thumb.jpg。 - 点击“保存”按钮。
注意:这个功能在某些版本中可能存在兼容性问题或无法完全覆盖所有模板的调用,如果设置后无效,仍然推荐使用 方法二(模板修改),因为它最可靠。
| 方法 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
| 系统自带图片 | 无需配置 | 图片简陋,不美观 | ⭐☆☆☆☆ (仅用于测试) |
| 修改核心文件 | 一次设置,全局生效 | 侵入性强,升级会失效 | ⭐☆☆☆☆ (不推荐) |
| 修改模板标签 | 灵活、安全、升级无忧 | 需要修改多个模板文件 | ⭐⭐⭐⭐⭐ (强烈推荐) |
| 后台全局设置 | 操作简单,后台统一管理 | 可能存在兼容性问题 | ⭐⭐⭐☆☆ (可作为尝试) |
对于任何正式项目,强烈建议使用方法二(修改模板标签) 来设置你的默认缩略图素材,这是最专业、最稳定、最灵活的解决方案。
