
你是不是经常这样:想给网站做个新闻列表,或者展示产品,结果在后台折腾半天,调来调去总是不对劲?要么排版乱了,要么显示不全,要么压根不显示。每次都要找技术帮忙,等半天不说,自己心里还特没底。
别急,今天我就跟你聊聊DedeCMS里一个超级好用的功能——列表标签。说白了,它就是帮你自动调取网站内容、并按你想要的格式展示出来的工具。看完这篇,你就能自己搞定大部分列表展示问题,再也不用求人了。
很多新手一上来就想直接改代码,结果越改越懵。咱们先花两分钟,把最基础的东西弄明白。
你可以把列表标签想象成一个聪明的助手。你告诉它:“去帮我找最近发布的5篇新闻文章,只要标题和发布时间,按时间倒序排好。”它就能自动帮你办妥,并把内容整整齐齐展示在网页上你指定的位置。
它的核心就是channelartlist标签和arclist标签。channelartlist主要负责栏目(频道)列表,比如你网站顶部的导航菜单;arclist主要负责文章内容列表,比如首页的“最新文章”板块。
别去系统文件里乱翻。最常用的地方就两个:一是后台的“模板管理”里,你正在编辑的模板文件(通常是.htm结尾的);二是系统自带的“标签源码”,在后台能找到参考。咱们今天主要讲怎么在模板里用它。
理论说再多不如动手。下面我直接给你最常用、最能出效果的写法,你复制过去稍微改改就能用。
你想在首页做个“公司动态”板块,显示最新的10条新闻。就这么写:
```{dede:arclist typeid='1' row='10' orderby='pubdate'}解释一下:

避坑提醒:标签一定要成对出现,有{dede:arclist}就一定有{/dede:arclist},少一个斜杠整个页面都可能错乱。
比如你想做一个产品分类的侧边导航。写法如下:
```{dede:channelartlist typeid='2'}这段代码在干嘛:它先调取typeid='2'这个栏目下的所有子栏目(每个子栏目变成一个h3标题),然后为每个子栏目再调取最多5篇文章,形成一个有分类的文章列表树。非常适合做复杂的导航。
光能显示出来还不够,咱们还得让它美观、好用。
列表只显示5条,但想让人点进去看全部。在arclist标签结束后面加这行:
``` ```这样“查看更多”就会链到该栏目的主页。
有的标题太长,会撑破表格。用这个函数截断它:
```[field:title function='cn_substr(@me, 20)'/]```意思是只显示20个字符(10个汉字),超出的部分用…代替。页面立马就整齐了。

想突出显示24小时内发布的文章?加个判断就行:
```{dede:arclist row='5'}把‘2023-10-27’换成“(intval(@me) > time()-86400)”这个代码,就能自动判断一天内的新文章。记得让前端同事给.new这个类加个红色样式。
第一步:清缓存! 去DedeCMS后台,找到“系统” -> “系统基本设置” -> “核心设置”,里面有个“清理缓存”,点一点。很多时候就是缓存没更新。
第二步:检查标签闭合。 99%的显示问题都是标签没闭合,或者属性值的引号用了中文引号。一定要用英文半角的引号。
检查orderby属性。除了‘pubdate’(发布时间),还有‘id’(文章ID)、‘sortrank’(置顶等级)、‘click’(点击量)可以用。按点击量排行就是orderby='click'。
在typeid里用逗号隔开多个ID,比如typeid='1,2,3'。如果想排除某个栏目,比如除了ID为5的栏目其他都要,目前标签原生不支持,但有个取巧办法:在后台把那个栏目隐藏,或者用SQL标签写更复杂的查询(这个高级点,以后可以单独讲)。
好了,关于列表标签最核心、最实用的东西都在这了。你不用一次全记住,把这篇文章收藏起来,下次要用的时候,直接找到对应的例子,复制、粘贴、改参数,三步搞定。现在就打开你的网站后台,找个不重要的页面试试手,先用arclist标签调个文章列表出来。一旦成功一次,后面就全是熟练工了。列表玩熟了,你对自己网站的控制力就能上一个大台阶,这才是真的省心。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图