当前位置:网站首页 >  攻略

DedeCMS列表标签使用方法

时间:2026年05月20日 02:01:15 来源:易频IT社区

还在为网站排版发愁?这个标签能省你一半时间

DedeCMS列表标签使用方法(0)

你是不是经常这样:想给网站做个新闻列表,或者展示产品,结果在后台折腾半天,调来调去总是不对劲?要么排版乱了,要么显示不全,要么压根不显示。每次都要找技术帮忙,等半天不说,自己心里还特没底。

别急,今天我就跟你聊聊DedeCMS里一个超级好用的功能——列表标签。说白了,它就是帮你自动调取网站内容、并按你想要的格式展示出来的工具。看完这篇,你就能自己搞定大部分列表展示问题,再也不用求人了。

一、列表标签到底是个啥?先搞懂基础再动手

很多新手一上来就想直接改代码,结果越改越懵。咱们先花两分钟,把最基础的东西弄明白。

1. 它就像个智能“内容收集器”

你可以把列表标签想象成一个聪明的助手。你告诉它:“去帮我找最近发布的5篇新闻文章,只要标题和发布时间,按时间倒序排好。”它就能自动帮你办妥,并把内容整整齐齐展示在网页上你指定的位置。

它的核心就是channelartlist标签和arclist标签。channelartlist主要负责栏目(频道)列表,比如你网站顶部的导航菜单;arclist主要负责文章内容列表,比如首页的“最新文章”板块。

2. 标签藏在哪儿?怎么找到它?

别去系统文件里乱翻。最常用的地方就两个:一是后台的“模板管理”里,你正在编辑的模板文件(通常是.htm结尾的);二是系统自带的“标签源码”,在后台能找到参考。咱们今天主要讲怎么在模板里用它。

二、手把手教你用两个最核心的列表标签

理论说再多不如动手。下面我直接给你最常用、最能出效果的写法,你复制过去稍微改改就能用。

1. 文章列表(arclist):展示内容的主力军

你想在首页做个“公司动态”板块,显示最新的10条新闻。就这么写:

```{dede:arclist typeid='1' row='10' orderby='pubdate'}
  • [field:title/] ([field:pubdate function='strftime("%Y-%m-%d",@me)'/])
  • {/dede:arclist}```

    解释一下:

    • typeid='1':这个‘1’要换成你“公司动态”这个栏目的真实ID。去后台“栏目管理”里,鼠标放栏目名上,浏览器状态栏就会显示ID。
    • row='10':就显示10条。
    • orderby='pubdate':按发布时间排序。
    • [field:title/]:这是调取文章标题。[field:arcurl/]是链接。

    DedeCMS列表标签使用方法(9)

    避坑提醒:标签一定要成对出现,有{dede:arclist}就一定有{/dede:arclist},少一个斜杠整个页面都可能错乱。

    2. 栏目列表(channelartlist):搭建网站骨架

    比如你想做一个产品分类的侧边导航。写法如下:

    ```{dede:channelartlist typeid='2'}

    {dede:field name='typename'/}

    {/dede:channelartlist}```

    这段代码在干嘛:它先调取typeid='2'这个栏目下的所有子栏目(每个子栏目变成一个h3标题),然后为每个子栏目再调取最多5篇文章,形成一个有分类的文章列表树。非常适合做复杂的导航。

    三、让列表变好看的几个实用小技巧

    光能显示出来还不够,咱们还得让它美观、好用。

    1. 给列表加个“更多”链接

    列表只显示5条,但想让人点进去看全部。在arclist标签结束后面加这行:

    ```

    查看更多 >

    ```

    这样“查看更多”就会链到该栏目的主页。

    2. 控制标题字数,不让排版乱掉

    有的标题太长,会撑破表格。用这个函数截断它:

    ```[field:title function='cn_substr(@me, 20)'/]```

    意思是只显示20个字符(10个汉字),超出的部分用…代替。页面立马就整齐了。

    3. 给最新文章加个“NEW”小图标

    DedeCMS列表标签使用方法(18)

    想突出显示24小时内发布的文章?加个判断就行:

    ```{dede:arclist row='5'}
  • [field:title/] {dede:if pubdate('Y-m-d') == '2023-10-27'} NEW {/dede:if}
  • {/dede:arclist}```

    把‘2023-10-27’换成“(intval(@me) > time()-86400)”这个代码,就能自动判断一天内的新文章。记得让前端同事给.new这个类加个红色样式。

    四、你肯定会遇到的坑,我先给你填上

    1. 改了代码,网页怎么没变化?

    第一步:清缓存! 去DedeCMS后台,找到“系统” -> “系统基本设置” -> “核心设置”,里面有个“清理缓存”,点一点。很多时候就是缓存没更新。

    第二步:检查标签闭合。 99%的显示问题都是标签没闭合,或者属性值的引号用了中文引号。一定要用英文半角的引号。

    2. 调出来的文章顺序不对?

    检查orderby属性。除了‘pubdate’(发布时间),还有‘id’(文章ID)、‘sortrank’(置顶等级)、‘click’(点击量)可以用。按点击量排行就是orderby='click'

    3. 不想显示某些栏目怎么办?

    在typeid里用逗号隔开多个ID,比如typeid='1,2,3'。如果想排除某个栏目,比如除了ID为5的栏目其他都要,目前标签原生不支持,但有个取巧办法:在后台把那个栏目隐藏,或者用SQL标签写更复杂的查询(这个高级点,以后可以单独讲)。

    好了,关于列表标签最核心、最实用的东西都在这了。你不用一次全记住,把这篇文章收藏起来,下次要用的时候,直接找到对应的例子,复制、粘贴、改参数,三步搞定。现在就打开你的网站后台,找个不重要的页面试试手,先用arclist标签调个文章列表出来。一旦成功一次,后面就全是熟练工了。列表玩熟了,你对自己网站的控制力就能上一个大台阶,这才是真的省心。

    相关推荐

    最新

    热门

    推荐

    精选

    标签

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

    Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图