- 幻灯片模块是什么?
- 如何创建和配置幻灯片?
- 如何调用幻灯片到模板中?
- 常见问题与高级技巧
幻灯片模块是什么?
在 DedeCMS 中,“幻灯片模块”本质上是一个内容模型和调用标签的组合。

- 内容模型:它定义了幻灯片内容的存储结构,包括图片地址、链接地址、标题、排序等字段,你可以在后台创建一个专门的“幻灯片”内容模型,并为它创建一个栏目。
- 调用标签:DedeCMS 提供了专门的标签(如
{dede:arclist}或{dede:loop})来从这个特定的栏目中读取内容,并以 JavaScript 或 HTML 的形式渲染成可轮播的图片效果。
这个过程可以概括为:后台管理内容 -> 前台标签调用 -> 渲染出幻灯片效果。
如何创建和配置幻灯片?
这是最核心的步骤,我们一步步来操作。
创建幻灯片栏目
- 登录 DedeCMS 后台。
- 进入 【栏目管理】 -> 【添加栏目】。
- 栏目名称:填写一个易于识别的名称,首页幻灯片”。
- 栏目类型:选择“栏目目录”。
- 内容模型:这是关键! 从下拉菜单中选择一个已有的模型,图片集”模型,图片集模型默认包含图片字段,非常适合幻灯片,如果没有,你需要先创建一个自定义模型(见步骤二)。
- 栏目列表选项:根据需要勾选,生成HTML”、“使用列表页”等。
- 点击“确定”保存。
你已经创建了一个用于存放幻灯片内容的栏目。
创建自定义内容模型(可选,但推荐)
如果你觉得“图片集”模型不够用,或者想自定义字段,可以创建一个专属的幻灯片模型。

- 进入 【核心】 -> 模型管理】 -> 【增加内容模型】**。
- 模型名称:填写“幻灯片”。
- 表前缀:系统会自动生成,如
dede_addonsoft,无需修改。 - 字段列表:点击此链接,进入字段管理界面。
- 添加字段:
- imgurl:用于上传图片,字段类型选择“图片”。
- linkurl:用于设置图片链接,字段类型选择“单行文本”。
- title:用于图片标题,字段类型选择“单行文本”。
- sortrank:用于排序,字段类型选择“数字”。
- 保存字段后,返回模型管理页面,点击“生成HTML”和“更新缓存”。
- 回到 【栏目管理】,编辑你刚才创建的“首页幻灯片”栏目,将其内容模型修改为你新创建的“幻灯片”模型。
添加幻灯片内容
- 进入 【核心】 -> 【普通文章】**。
- 点击“增加普通文章”。
- 选择栏目:务必选择你刚刚创建的“首页幻灯片”栏目。
- :
- 填写幻灯片的标题(可选,有时会显示在图片上)。
- 缩略图:这是最常用的字段! 点击上传按钮,选择你想要展示的图片,上传后,图片地址会自动填充到缩略图字段中。
- 自定义字段:如果你使用了自定义模型,现在就需要填写
imgurl、linkurl等字段。imgurl:手动填写图片地址,或者通过“文件管理器”上传后复制路径。linkurl:填写点击图片后要跳转的网址。sortrank:填写一个数字,数字越小,显示越靠前。
- 点击“确定”发布。
重复此步骤,添加多张幻灯片图片。
如何调用幻灯片到模板中?
准备好了,现在需要在前端模板中把它显示出来。
使用 dede:arclist 标签(最常用)
这是最灵活、最常用的方法,它可以从指定栏目中调用文章,并利用其缩略图字段。
将以下代码粘贴到你想要显示幻灯片的位置,通常是首页模板 (index.htm) 的 <head> 标签之后。

<!-- 引入 jQuery 库 (如果你的模板没有引入的话) -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- 引入幻灯片插件 JS 和 CSS (这里以经典的 Slick 为例) -->
<link rel="stylesheet" type="text/css" href="/static/css/slick.css" />
<script type="text/javascript" src="/static/js/slick.min.js"></script>
<!-- 幻灯片 HTML 结构 -->
<div class="slider-container">
<div class="slider-for">
{dede:arclist typeid='你的幻灯片栏目ID' row='5' orderby='sortrank'}
<div>
<a href="[field:linkurl/]" target="_blank">
<img src="[field:picname/]" alt="[field:title/]" />
</a>
</div>
{/dede:arclist}
</div>
<div class="slider-nav">
{dede:arclist typeid='你的幻灯片栏目ID' row='5' orderby='sortrank'}
<div>
<img src="[field:picname/]" alt="[field:title/]" />
</div>
{/dede:arclist}
</div>
</div>
<!-- 初始化幻灯片 JS -->
<script>
$(document).ready(function(){
$('.slider-for').slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: true,
fade: true,
asNavFor: '.slider-nav'
});
$('.slider-nav').slick({
slidesToShow: 5,
slidesToScroll: 1,
asNavFor: '.slider-for',
dots: false,
centerMode: true,
focusOnSelect: true
});
});
</script>
代码解析:
-
{dede:arclist typeid='你的幻灯片栏目ID' row='5' orderby='sortrank'}:typeid: 必须替换成你创建的“首页幻灯片”栏目的 ID,你可以在“栏目管理”中查看。row: 调用的文章数量,即显示几张幻灯片。orderby='sortrank': 按照我们之前设置的sortrank字段排序,确保顺序正确。[field:picname/]: 调用文章的缩略图地址。[field:linkurl/]: 调用文章的链接地址。[field:title/]: 调用文章的标题。
-
Slick 插件: 这是一个非常强大的轮播图插件,上面代码实现的是“大图导航 + 缩略图列表”的经典效果,你也可以使用其他插件,如 Swiper、Bootstrap Carousel 等,只需修改 JS 和 CSS 调用部分即可。
使用 dede:loop
如果你的幻灯片内容不是存放在文章里,而是直接存放在数据表(如 dede_slide 旧版本),或者你只想简单地循环一个列表,loop 标签更合适。
{dede:loop table='dede_slide' sort='rank' row='5'}
<a href="[field:url/]"><img src="[field:image/]" alt="[field:title/]" /></a>
{/dede:loop}
table: 指定要查询的数据表名。
sort: 排序字段。
row: 循环次数。
注意:loop 标签的用法相对固定,不如 arclist 灵活,且不同 DedeCMS 版本幻灯片数据表可能不同。推荐优先使用 arclist 方法,因为它更符合 DedeCMS 的内容管理逻辑。
常见问题与高级技巧
问题1:幻灯片不显示,图片路径错误?
原因:图片地址是绝对路径(如 http://www.yoursite.com/uploads/...),但在某些配置下,页面可能从其他路径加载,导致图片无法找到。
解决:
- 确保上传的图片使用的是相对路径(如
/uploads/2025/10/xx.jpg),DedeCMS 默认上传缩略图就是相对路径。
- 检查标签中的字段是否正确,
[field:picname/] 是调用缩略图的正确标签。
问题2:如何实现无缝轮播和自动播放?
解决:这取决于你使用的 JavaScript 插件,以 Slick 为例,只需在初始化参数中加入:
$('.slider-for').slick({
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true, // 开启自动播放
autoplaySpeed: 3000, // 自动播放速度(毫秒)
infinite: true, // 无缝循环
// ... 其他参数
});
问题3:如何自定义幻灯片的样式(CSS)?
解决:通过给 HTML 元素添加 class,然后在你的模板 CSS 文件中编写样式。
给最外层容器加一个 my-slider class:
<div class="my-slider">
<!-- 幻灯片内容 -->
</div>
然后在 CSS 文件中:
.my-slider .slick-slide img {
width: 100%;
height: auto;
}
.my-slider .slick-prev, .my-slider .slick-next {
/* 自定义左右箭头样式 */
}
步骤
操作
关键点
创建栏目
在“栏目管理”中创建一个新栏目,类型为“栏目目录”。
选择合适的内容模型,如“图片集”或自定义模型。
在“普通文章”中发布内容,选择该栏目。
上传缩略图,填写链接地址和排序值。
调用标签
在首页模板中使用 {dede:arclist}
typeid 必须填写正确,使用 [field:picname/] 和 [field:linkurl/] 调用数据。
引入插件
在模板中引入 JS 轮播插件(如 Slick)的 CSS 和 JS 文件。
选择一个功能强大、文档齐全的插件。
初始化
编写 jQuery 代码来初始化轮播图。
确保选择器正确,并根据需要配置参数(如自动播放、无缝循环)。
遵循以上步骤,你就可以在 DedeCMS 网站中成功创建一个功能完善、效果美观的幻灯片模块了。
如果你的幻灯片内容不是存放在文章里,而是直接存放在数据表(如 dede_slide 旧版本),或者你只想简单地循环一个列表,loop 标签更合适。
{dede:loop table='dede_slide' sort='rank' row='5'}
<a href="[field:url/]"><img src="[field:image/]" alt="[field:title/]" /></a>
{/dede:loop}
table: 指定要查询的数据表名。sort: 排序字段。row: 循环次数。
注意:
loop标签的用法相对固定,不如arclist灵活,且不同 DedeCMS 版本幻灯片数据表可能不同。推荐优先使用arclist方法,因为它更符合 DedeCMS 的内容管理逻辑。
常见问题与高级技巧
问题1:幻灯片不显示,图片路径错误?
原因:图片地址是绝对路径(如 http://www.yoursite.com/uploads/...),但在某些配置下,页面可能从其他路径加载,导致图片无法找到。
解决:
- 确保上传的图片使用的是相对路径(如
/uploads/2025/10/xx.jpg),DedeCMS 默认上传缩略图就是相对路径。 - 检查标签中的字段是否正确,
[field:picname/]是调用缩略图的正确标签。
问题2:如何实现无缝轮播和自动播放?
解决:这取决于你使用的 JavaScript 插件,以 Slick 为例,只需在初始化参数中加入:
$('.slider-for').slick({
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true, // 开启自动播放
autoplaySpeed: 3000, // 自动播放速度(毫秒)
infinite: true, // 无缝循环
// ... 其他参数
});
问题3:如何自定义幻灯片的样式(CSS)?
解决:通过给 HTML 元素添加 class,然后在你的模板 CSS 文件中编写样式。
给最外层容器加一个 my-slider class:
<div class="my-slider">
<!-- 幻灯片内容 -->
</div>
然后在 CSS 文件中:
.my-slider .slick-slide img {
width: 100%;
height: auto;
}
.my-slider .slick-prev, .my-slider .slick-next {
/* 自定义左右箭头样式 */
}
| 步骤 | 操作 | 关键点 |
|---|---|---|
| 创建栏目 | 在“栏目管理”中创建一个新栏目,类型为“栏目目录”。 | 选择合适的内容模型,如“图片集”或自定义模型。 |
| 在“普通文章”中发布内容,选择该栏目。 | 上传缩略图,填写链接地址和排序值。 | |
| 调用标签 | 在首页模板中使用 {dede:arclist}
| |
| 引入插件 | 在模板中引入 JS 轮播插件(如 Slick)的 CSS 和 JS 文件。 | 选择一个功能强大、文档齐全的插件。 |
| 初始化 | 编写 jQuery 代码来初始化轮播图。 | 确保选择器正确,并根据需要配置参数(如自动播放、无缝循环)。 |
遵循以上步骤,你就可以在 DedeCMS 网站中成功创建一个功能完善、效果美观的幻灯片模块了。
