DedeCMS 的幻灯片调用主要分为两种主流方式:

(图片来源网络,侵删)
-
推荐方法:使用
channelartlist标签(推荐)- 优点:数据结构清晰,调用方便,通常用于调用指定栏目下的图片。
- 适用场景:调用某个特定栏目(如“首页幻灯片”)内的文章,这些文章需要有缩略图。
-
传统方法:使用
arclist- 优点:非常灵活,可以调用任何符合条件的文章列表。
- 适用场景:当你的幻灯片图片和内容不在一个专门的栏目里,或者需要跨栏目调用时。
使用 channelartlist 标签(推荐)
这是最常用、最规范的方法,你需要先创建一个栏目,首页幻灯片”,然后将你想要展示的幻灯片文章发布到这个栏目下。
准备工作
- 创建栏目:在后台“栏目管理”中,创建一个顶级栏目,命名为“首页幻灯片”或类似名称,记下这个栏目的 ID(ID=5)。
- 发布文章:将所有幻灯片文章发布到这个“首页幻灯片”栏目下。务必为每篇文章上传并选择缩略图。
调用代码
将以下代码放入你想要显示幻灯片的模板文件中(通常是 index.htm)。

(图片来源网络,侵删)
{dede:channelartlist typeid='5' row='5'}
<div class="focusBox">
<div class="pic">
<ul>
{dede:arclist row='5' titlelen='30'}
<li>
<a href="[field:arcurl/]" target="_blank">
<img src="[field:litpic/]" alt="[field:title/]" width="1920" height="500">
</a>
</li>
{/dede:arclist}
</ul>
</div>
<!-- 如果需要标题和数字导航,可以加上下面的代码 -->
<div class="txt">
<ul>
{dede:arclist row='5' titlelen='20'}
<li><a href="[field:arcurl/]" target="_blank">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
<div class="num">
<ul>
{dede:arclist row='5'}
<li><a href="[field:arcurl/]" target="_blank">[field:global.autoindex/]</a></li>
{/dede:arclist}
</ul>
</div>
</div>
{/dede:channelartlist}
标签详解
-
外层标签
{dede:channelartlist}typeid='5':关键参数,指定要调用哪个栏目下的文章。5是“首页幻灯片”栏目的 ID,如果你调用的是顶级栏目,可以省略typeid。row='5':指定要调用的栏目数量,对于幻灯片,通常只调用一个栏目,所以这里写1或不写(默认为1)即可,内部的arclist才是控制图片数量的。
-
内层标签
{dede:arclist}row='5':指定从当前栏目中调用多少篇文章(即多少张幻灯片)。titlelen='30'长度,限制标题显示的字符数。typeid='':在arclist内部,如果指定typeid,则会覆盖外层的channelartlist的栏目,通常这里不填。- 底层字段:
[field:litpic/]:文章的缩略图路径,这是幻灯片图片的核心。[field:title/]。[field:arcurl/]:文章的链接地址。[field:global.autoindex/]:获取当前循环的索引值(从1开始),常用于制作数字导航。
使用 arclist 标签(传统灵活方法)
如果你的幻灯片图片分散在不同栏目,或者你不想创建专门的幻灯片栏目,可以使用 arclist 标签直接调用所有符合条件的文章。
调用代码
<div class="focusBox">
<div class="pic">
<ul>
{dede:arclist row='5' typeid='5,6,7' channelid='1' imgwidth='1920' imgheight='500'}
<li>
<a href="[field:arcurl/]" target="_blank">
<img src="[field:litpic/]" alt="[field:title/]">
</a>
</li>
{/dede:arclist}
</ul>
</div>
<div class="txt">
<ul>
{dede:arclist row='5' typeid='5,6,7' titlelen='20'}
<li><a href="[field:arcurl/]" target="_blank">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
</div>
标签详解
{dede:arclist}标签本身功能强大,参数众多。row='5':调用文章的数量,即幻灯片张数。typeid='5,6,7':指定调用哪些栏目下的文章,用逗号隔开多个栏目 ID,如果留空,则调用所有栏目的文章。channelid='1'模型 ID。1是普通文章模型,如果你的图片在别的模型(如图集),需要指定对应的 channelid。imgwidth='1920'和imgheight='500':非常实用的参数,它会自动调用缩略图,并强制输出指定尺寸的图片,这可以避免因原图尺寸不一导致的布局错乱,前提是你的缩略图开启“使用远程图片”或“裁剪缩略图”功能。orderway='desc':排序方式。desc为降序(最新的在前),asc为升序。limit='0,5':与row类似,limit='起始条数,调用条数'。
常见问题与注意事项
-
没有图片显示
- 检查缩略图:确保文章已经上传了缩略图,并且在编辑文章时“选择缩略图”是勾选状态。
- 检查标签:确认
[field:litpic/]标签是否正确无误。 - 检查路径:确认图片上传目录和网站配置一致,没有被移动或删除。
-
图片尺寸不统一
- 解决方案:在
arclist标签中使用imgwidth和imgheight参数强制尺寸,这是最简单有效的方法。 - 高级方案:使用 CSS 的
object-fit: cover;属性来让图片填充容器并保持比例。
- 解决方案:在
-
调用出来的顺序不对
- 使用
arclist时,默认按发布时间降序排列,如果想改变顺序,可以使用orderby='pubdate'(默认)或orderby='hot'(按点击量)、orderby='weight'(按权重)等,并配合orderway='asc'或orderway='desc'。
- 使用
-
幻灯片 JS 代码
上述 HTML 结构是标准的,但幻灯片的切换效果需要配合 JavaScript(如 jQuery 的轮播插件)和 CSS 样式才能实现,你需要自行编写或引入相关的 JS 和 CSS 文件。
| 特性 | channelartlist + arclist |
arclist |
|---|---|---|
| 推荐度 | ⭐⭐⭐⭐⭐ (推荐) | ⭐⭐⭐⭐ (灵活) |
| 数据结构 | 先选栏目,再从栏目选文章 | 直接从所有文章中筛选 |
| 适用场景 | 集中在一个栏目 | 跨栏目、灵活调用 |
| 核心参数 | typeid (外层), row (内层) |
row, typeid, imgwidth, imgheight |
| 优点 | 结构清晰,符合逻辑 | 灵活强大,参数丰富 |
对于绝大多数网站,方法一 是最佳实践,因为它让内容管理更加清晰,只有在特殊需求下,才考虑使用 方法二。
