准备工作:创建幻灯片分类和内容
无论使用哪种方法,你都需要先在后台创建好幻灯片。

(图片来源网络,侵删)
-
登录织梦后台 (
/dede/)。 -
进入 【核心】 -> 【频道模型】 -> 【自定义表单】。
-
点击 【增加一个新的自定义表单】。
- 表单名称: 填写
幻灯片(或你喜欢的名字,如Banner)。 - 数据表: 保持默认
dede_addonsoft(通常不用改)。 - 默认表单模板: 保持默认。
- 列表条数: 填写你想要显示的Banner数量,
10。 - 点击 【保存】。
- 表单名称: 填写
-
创建幻灯片分类:
(图片来源网络,侵删)- 进入 【核心】 -> 【批量维护】 -> 【数据库表管理】。
- 找到
dede_arctype表,点击后面的 【管理】。 - 点击顶部的 【增加顶级栏目】。
- 栏目名称: 填写
首页幻灯片(或你自己的命名)。 - 栏目目录: 填写
home_slides(英文,不要用中文)。 - 栏目类型: 选择 【外部栏目】。
- 绑定到频道: 选择你刚刚创建的自定义表单,即 【幻灯片】。
- 其他选项可以默认,点击 【确定保存】。
-
添加幻灯片内容:
- 进入 【核心】 -> 发布】 -> 【添加幻灯片内容】。
- 你会看到表单字段,通常包括:
- Banner的标题(可选,一般不显示)。
- 图片: 这是最重要的,点击上传你的Banner图片。
- 链接: 点击Banner后跳转的网址,如
https://www.example.com或网站内的栏目链接/index.html。 - 备注: 其他说明(可选)。
- 填写好信息后,点击 【发布】,你可以添加多个幻灯片内容。
完成以上步骤后,你就可以在模板中调用这些Banner了。
使用系统自带标签(最简单)
这是官方提供的最简单直接的方法,适用于大多数标准场景。
标签代码:

(图片来源网络,侵删)
{dede:arclist flag='h' typeid='你的幻灯片分类ID' row='5'}
<a href="[field:link/]">
<img src="[field:litpic/]" alt="[field:title/]" width="100%" height="300px">
</a>
{/dede:arclist}
代码解析:
{dede:arclist ...}: 织梦最常用的列表标签。flag='h': 关键参数,表示只调用带有h标志的文章(幻灯片内容需要手动设置这个标志,见下文)。typeid='你的幻灯片分类ID': 关键参数,填写你刚才创建的“首页幻灯片”分类的ID,你可以在后台“栏目管理”中看到这个ID。row='5': 调用5条幻灯片记录,根据你在后台设置的“列表条数”来调整。[field:link/]: 调用幻灯片设置的“链接”字段。[field:litpic/]: 调用幻灯片的“图片”字段。[field:title/]: 调用幻灯片的“标题”字段,用作img标签的alt属性,有利于SEO。
如何设置 flag='h' 标志?
这个方法有个小缺点:需要在添加幻灯片内容时,手动设置“标志”。
- 进入 【核心】 -> 发布】 -> 【添加幻灯片内容】。
- 在表单的最下方,你会看到一个 “标志” 字段,里面有个输入框。
- 在输入框中填入字母
h。 - 。
这样,flag='h' 的标签才能正确调用到它。
使用自定义表单标签(最灵活)
这种方法不依赖 flag,而是直接调用你创建的自定义表单,更灵活,推荐使用。
标签代码:
{dede:sql sql="SELECT * FROM `dede_addonsoft` WHERE aid BETWEEN 起始ID AND 结束ID ORDER BY aid ASC"}
<a href="[field:link/]">
<img src="[field:picurl/]" alt="[field:title/]" width="100%" height="300px">
</a>
{/dede:sql}
代码解析:
{dede:sql ...}: 织梦的SQL查询标签,非常强大。sql="...": 这里写你的SQL查询语句。dede_addonsoft: 这是自定义表单默认的数据表名,如果你在创建时修改了,这里也要跟着改。aid BETWEEN 起始ID AND 结束ID: 这是关键。aid是每条记录的唯一ID,你需要去后台查看你的幻灯片内容的ID,然后填写一个范围,你的第一条幻灯片ID是5,最后一条是9,就写成BETWEEN 5 AND 9,这是最简单直接的查询方式。[field:picurl/]: 注意,这里调用的是你自定义表单中“图片”字段的名称,默认情况下,图片字段名可能是picurl或image,请根据你的实际情况修改,链接字段同理。
如何获取字段名?
在后台 【核心】 -> 【频道模型】 -> 【自定义表单管理】 中,找到你创建的“幻灯片”表单,点击后面的 【管理字段】,就能看到每个字段的“字段名称”了。
使用JS调用(效果最好)
如果你的Banner需要复杂的切换效果(如轮播、淡入淡出等),使用JS调用是最好的选择,通常配合第三方轮播图JS库(如 Swiper, Owl Carousel, Bootstrap Carousel 等)使用。
步骤:
-
在模板中引入JS和CSS库:在网页的
<head>部分引入你选择的轮播图库的文件。<!-- 以 Swiper 为例 --> <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css" /> <script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script>
-
在模板中编写HTML结构:
<div class="swiper mySwiper"> <div class="swiper-wrapper"> <!-- 这里用织梦标签循环输出幻灯片 --> {dede:sql sql="SELECT * FROM `dede_addonsoft` WHERE aid BETWEEN 5 AND 9 ORDER BY aid ASC"} <div class="swiper-slide"> <a href="[field:link/]"> <img src="[field:picurl/]" alt="[field:title/]"> </a> </div> {/dede:sql} </div> <!-- 如果需要分页器 --> <div class="swiper-pagination"></div> <!-- 如果需要导航按钮 --> <div class="swiper-button-next"></div> <div class="swiper-button-prev"></div> </div> -
在模板中编写JS初始化代码:在网页底部
</body>标签前添加。<script> var swiper = new Swiper(".mySwiper", { loop: true, // 循环模式 pagination: { el: ".swiper-pagination", }, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); </script>
优点:
- 效果丰富,用户体验好。
- 功能强大,支持触摸滑动、自动播放等。
- 代码结构清晰,易于维护。
总结与推荐
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 方法一 (arclist) | 简单,官方标签 | 需要手动设置 flag,不够灵活 |
快速实现,不介意手动设置标志的简单Banner |
| 方法二 (sql) | 非常灵活,不依赖标志 | 需要手动记录ID,稍复杂 | 强烈推荐,特别是当幻灯片内容由其他用户管理时 |
| 方法三 (JS) | 效果最好,功能强大 | 需要引入外部库,有一定学习成本 | 需要复杂轮播、动画效果的专业级Banner |
对于大多数网站,我推荐使用【方法二:自定义表单标签】,因为它最稳定、最灵活,如果你的项目对视觉效果要求很高,方法三:JS调用】是最佳选择。
