- 直接调用图片列表:最简单的方式,直接获取文件夹里所有图片的路径,并以列表形式展示。
- 调用图片并生成缩略图:更专业和常用的方式,调用图片并利用织梦的缩略图功能,生成不同尺寸的图片用于前台展示。
下面我将详细介绍这两种方法,并提供完整的代码示例。

准备工作:上传图片
在调用图片之前,请确保你已经将图片上传到了织梦的指定文件夹,我们在 dede/uploads/ 目录下创建一个名为 mygallery 的文件夹,并将几张图片(如 jpg, jpg, png)放进去。
重要提示:织梦默认不会自动识别新上传的图片,你需要手动去织梦后台更新一下数据,让系统扫描到这些新图片。
操作路径:【后台】 -> 【系统】 -> 【数据库备份/还原】 -> 【一键更新网站】****
在更新向导中,勾选 “增加新内容”,然后在“选择更新项”时,找到 “采集” 分类下的 “图片集内容” 或 ”,勾选并执行更新,这样,系统就会将你 mygallery 文件夹里的图片识别为图集内容。

直接调用图片列表(简单粗暴)
这种方法直接获取文件夹内所有图片的URL,适用于简单的图片墙或不需要缩略图的场景。
适用场景:展示所有图片,不区分大小,不生成缩略图。
代码示例:
你可以将以下代码放在你需要的模板文件中(如 index.htm, article_article.htm 等)。
{dede:php}
// 1. 定义要调用的图片文件夹路径
// 注意:这里的路径是相对于网站根目录的
$imgDir = '/uploads/mygallery/';
// 2. 获取该文件夹下的所有文件
$files = glob($_SERVER['DOCUMENT_ROOT'] . $imgDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
// 3. 遍历文件数组并输出HTML
if ($files) {
foreach ($files as $file) {
// 获取文件名,如 '1.jpg'
$filename = basename($file);
// 拼接出完整的图片URL
$imageUrl = $imgDir . $filename;
// 输出图片标签
echo "<img src='{$imageUrl}' alt='{$filename}' style='width:200px; margin:5px; display:inline-block;'/>";
}
} else {
echo "文件夹为空或未找到图片。";
}
{/dede:php}
代码解析:
$imgDir = '/uploads/mygallery/';:设置你的图片文件夹路径。务必以 开头和结尾。glob(...): 这是一个PHP函数,用于查找匹配的文件路径。$_SERVER['DOCUMENT_ROOT']:获取网站服务器的根目录物理路径,用来拼接成完整的文件系统路径。'{jpg,jpeg,png,gif}':指定查找的图片后缀名。GLOB_BRACE:让*.{jpg,jpeg,...}这种通配符模式生效。
foreach ($files as $file): 循环遍历找到的每一个文件。basename($file):从完整路径中提取出文件名。echo "<img ... />":输出HTML图片标签。
调用图片并生成缩略图(推荐)
这是最标准、最灵活的方式,它利用了织梦的图集模型和标签系统,可以自动生成缩略图,并且可以轻松控制图片的尺寸、样式等。
适用场景:产品展示、画廊、新闻配图等需要统一尺寸和样式的场景。
步骤 1:确保图片被织梦识别
这一步和方法一的准备工作完全一样,必须先通过 “一键更新网站” 让织梦识别你文件夹里的图片,并将它们存入数据库的 dede_addonimages 表(图集模型的数据表)。
步骤 2:使用织梦标签调用图集
织梦有一个专门的标签 {dede:imglist} 用于调用图集内容。
代码示例:
{dede:imglist typeid='0' row='8'}
<li>
<a href="[field:linkurl/]" title="[field:title/]">
<!-- 自动调用并生成缩略图 -->
<img src="[field:imgsrc/]" alt="[field:title/]" width="200" height="150"/>
</a>
</li>
{/dede:imglist}
标签属性说明:
typeid='0':- 这是最关键的属性! 它表示调用的图集所属的栏目ID。
- 如果你想调用所有栏目的图集,设置为
typeid='0'。 - 如果你想调用某个特定栏目下的图集,请将
0替换为对应栏目的ID。
row='8':表示调用多少张图片,根据你的需要填写。width='200' height='150':为生成的缩略图指定宽度和高度,织梦会自动对原图进行裁剪或缩放以适应这个尺寸。
字段说明(使用[field:xxx/]调用):
[field:imgsrc/]:图片的原始路径。[field:litpic/]:图片的缩略图路径,如果你在上传时没有单独生成缩略图,它通常和imgsrc一样,如果你使用了织梦的缩略图功能,这里会返回缩略图的地址。[field:title/]:图片的标题(在上传时可以填写)。[field:linkurl/]:图片的链接地址,对于图集中的单张图片,通常指向一个查看大图的页面。
步骤 3:如何只调用指定文件夹的图片?
{dede:imglist} 是按栏目调用的,它不能直接通过文件夹路径来筛选,我们可以通过一个“变通”的方法来实现:
- 创建一个专门的图集栏目:在后台栏目管理中,新建一个栏目,比如叫“公司相册”,选择“图集模型”。
- 上传图片到该栏目:在发布图集内容时,将图片上传到你想要的文件夹(如
uploads/mygallery)。 - 调用该栏目的图集:在模板中,使用
{dede:imglist}并指定这个新栏目的typeid。
这样,所有在这个“公司相册”栏目下发布的图集,都会被 {dede:imglist typeid='这里填新栏目的ID'} 调用,从而实现了“按文件夹”调用的效果(实际上是按栏目)。
总结与对比
| 特性 | 方法一 (PHP代码) | 方法二 (织梦标签) |
|---|---|---|
| 灵活性 | 极高,可以完全自定义逻辑。 | 较高,受限于织梦标签的功能。 |
| 易用性 | 较低,需要懂PHP。 | 极高,纯模板标签,简单直观。 |
| 缩略图 | 需要自己用PHP的GD库或ImageMagick等处理。 | 自动生成,非常方便。 |
| 性能 | 稍差,每次页面加载都会执行PHP代码。 | 更好,标签通常有缓存机制。 |
| 适用场景 | 调用非CMS管理的图片、需要复杂逻辑的个性化展示。 | 绝大多数常规场景,如产品图、新闻图、画廊等。 |
推荐:
对于绝大多数用户,强烈推荐使用方法二(织梦标签 {dede:imglist}),它是织梦设计的标准用法,更安全、更高效,也更容易维护,只有在方法二无法满足你的特殊需求时,才考虑使用方法一的PHP代码。
