Dede标签怎么调用?常用写法、列表调用与模板实战整理
dede怎么调用标签:DedeCMS常用标签调用方法与实战示例
DedeCMS(织梦内容管理系统)是国内使用较早、应用范围较广的一套开源CMS系统,很多企业站、资讯站、下载站、门户站都曾经或仍在使用它。对于DedeCMS模板制作来说,最核心的能力之一就是标签调用。所谓“调用标签”,简单理解就是:通过DedeCMS提供的模板标签,把栏目、文章、图片、友情链接、当前位置、分页、搜索结果等内容动态输出到网页中。
很多新手在修改Dede模板时,经常会遇到这样的问题:
“首页文章列表怎么调用?”
“栏目页怎么调用当前栏目的文章?”
“内容页标题、时间、作者怎么显示?”
“如何调用指定栏目的推荐文章?”
“dede标签写了为什么不生效?”
本文将围绕“dede怎么调用标签”这个主题,系统介绍DedeCMS常用标签的基本写法、调用规则、实战示例以及常见问题,帮助你更快掌握DedeCMS模板开发。
一、DedeCMS标签调用的基本概念
DedeCMS模板标签通常写在HTML模板文件中,例如:
{dede:arclist row='10' titlelen='40'}
[field:title/]
{/dede:arclist}
这段代码的作用是调用10篇文章,并输出文章标题和链接。
DedeCMS标签大致可以分为两类:
1. 块级标签
块级标签通常有开始标签和结束标签,中间可以嵌套HTML代码以及字段标签,例如:
{dede:arclist row='8'}
[field:title/]
{/dede:arclist}
常见块级标签包括:
{dede:arclist}:文章列表调用{dede:channel}:栏目列表调用{dede:flink}:友情链接调用{dede:loop}:自定义SQL循环调用{dede:list}:栏目列表分页调用
2. 单标签
单标签通常用于直接输出某个固定内容,不需要结束标签,例如:
{dede:global.cfg_webname/}
常见单标签包括:
{dede:global.cfg_webname/}:网站名称{dede:field.title/}:当前页面标题{dede:field name='position'/}:当前位置{dede:field.pubdate function='strftime("%Y-%m-%d",@me)'/}:发布时间
二、DedeCMS标签调用的基本语法
Dede标签一般采用如下格式:
{dede:标签名 属性1='值1' 属性2='值2'}
输出内容
{/dede:标签名}
例如:
{dede:arclist typeid='1' row='5' titlelen='30'}
[field:title/]
{/dede:arclist}
其中:
dede:arclist是标签名称,表示调用文章列表;typeid='1'表示调用栏目ID为1的文章;row='5'表示调用5条;titlelen='30'表示标题长度限制为30;[field:arcurl/]表示文章链接;[field:title/]表示文章标题。
需要注意的是,DedeCMS标签中的属性值一般使用英文单引号或双引号,建议统一使用英文单引号,避免中文符号导致标签无法解析。
三、调用网站基本信息标签
在DedeCMS模板中,经常需要调用网站名称、网站关键词、网站描述等全局信息。这些信息一般在后台“系统基本参数”中设置。
1. 调用网站名称
{dede:global.cfg_webname/}
示例:
{dede:global.cfg_webname/}
2. 调用网站关键词
{dede:global.cfg_keywords/}
示例:
3. 调用网站描述
{dede:global.cfg_description/}
示例:
4. 调用网站根目录
{dede:global.cfg_cmsurl/}
如果网站安装在根目录,该值通常为空;如果安装在子目录,则会输出对应目录路径。
四、调用栏目导航标签
网站导航通常需要调用栏目列表,DedeCMS可以使用 {dede:channel} 标签实现。
1. 调用顶级栏目
{dede:channel type='top' row='10'}
- [field:typename/]
{/dede:channel}
参数说明:
type='top':调用顶级栏目;row='10':调用10个栏目;[field:typeurl/]:栏目链接;[field:typename/]:栏目名称。
2. 调用指定栏目的子栏目
{dede:channel type='son' typeid='3'}
- [field:typename/]
{/dede:channel}
这里 typeid='3' 表示调用栏目ID为3的子栏目。
3. 调用当前栏目的同级栏目
{dede:channel type='self'}
- [field:typename/]
{/dede:channel}
type='self' 常用于栏目页侧边栏,用来显示当前栏目的同级分类。
五、调用文章列表标签:arclist
{dede:arclist} 是DedeCMS中使用频率最高的标签之一,主要用于调用文章、图集、软件等文档列表。
1. 调用最新文章
{dede:arclist row='10' titlelen='36' orderby='pubdate'}
-
[field:title/]
{/dede:arclist}
说明:
row='10':调用10篇;titlelen='36':标题最多显示36个字符;orderby='pubdate':按发布时间排序。
2. 调用指定栏目的文章
{dede:arclist typeid='5' row='8' titlelen='40'}
-
[field:title/]
{/dede:arclist}
其中 typeid='5' 表示调用栏目ID为5的文章。
3. 调用带缩略图的文章
{dede:arclist row='6' typeid='2' titlelen='30'}
{/dede:arclist}
常用字段说明:
[field:title/]:文章标题;[field:arcurl/]:文章链接;[field:litpic/]:文章缩略图;[field:description/]:文章摘要;[field:pubdate/]:发布时间;[field:click/]:点击量;[field:writer/]:作者。
4. 调用推荐文章
DedeCMS文章可以设置属性,例如推荐、头条、图片、幻灯等。常用属性通过 flag 参数调用。
{dede:arclist row='5' flag='c' titlelen='35'}
[field:title/]
{/dede:arclist}
常见 flag 值包括:
| 属性 | 含义 |
|---|---|
h |
头条 |
c |
推荐 |
f |
幻灯 |
a |
特荐 |
p |
图片 |
j |
跳转 |
例如调用带图片属性的文章:
{dede:arclist row='4' flag='p'}
{/dede:arclist}
5. 调用热门文章
热门文章通常按点击量排序:
{dede:arclist row='10' orderby='click' titlelen='36'}
-
[field:title/]
[field:click/]
{/dede:arclist}
6. 调用随机文章
{dede:arclist row='8' orderby='rand'}
- [field:title/]
{/dede:arclist}
随机文章适合用于“猜你喜欢”“随机推荐”等模块,但不建议在页面大量使用,否则可能影响生成速度。
六、栏目页文章分页调用:list标签
在栏目列表页中,通常使用 {dede:list} 调用当前栏目下的文章,并配合分页标签使用。
1. 栏目页文章列表
{dede:list pagesize='10' titlelen='50'}
-
[field:title/]
[field:description function='cn_substr(@me,120)'/]
[field:pubdate function='strftime("%Y-%m-%d",@me)'/]
{/dede:list}
参数说明:
pagesize='10':每页显示10条;titlelen='50':标题长度;[field:description/]:文章摘要;[field:pubdate/]:发布时间。
2. 调用分页
{dede:pagelist listitem='info,index,end,pre,next,pageno' listsize='5'/}
分页参数说明:
info:分页信息;index:首页;end:末页;pre:上一页;next:下一页;pageno:页码;listsize='5':显示页码数量。
完整栏目页示例:
{dede:list pagesize='12'}
-
[field:title/]
{/dede:list}
{dede:pagelist listitem='index,pre,pageno,next,end' listsize='5'/}
需要注意:{dede:list} 通常用于栏目页模板,不能随意放到首页模板中使用。首页调用文章列表一般用 {dede:arclist}。
七、内容页常用标签调用
内容页用于显示单篇文章详情,常用标签包括标题、正文、作者、来源、时间、点击量、上一篇、下一篇等。
1. 调用文章标题
{dede:field.title/}
示例:
{dede:field.title/}
2. 调用发布时间
{dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}
如果只显示年月日:
{dede:field.pubdate function='strftime("%Y-%m-%d",@me)'/}
3. 调用作者
{dede:field.writer/}
4. 调用来源
{dede:field.source/}
5. 调用文章正文
{dede:field.body/}
示例:
{dede:field.body/}
6. 调用文章摘要
{dede:field.description/}
7. 调用文章缩略图

8. 调用上一篇、下一篇
上一篇:{dede:prenext get='pre'/}
下一篇:{dede:prenext get='next'/}
如果没有上一篇或下一篇,系统通常会输出默认提示。
八、调用当前位置面包屑导航
当前位置可以帮助用户了解所在页面层级,也有利于SEO优化。
{dede:field name='position'/}
示例:
一般会输出类似:
主页 > 新闻中心 > 公司新闻 >
如果想修改“主页”的文字或分隔符,需要到系统文件或相关配置中调整,或者通过模板结构自行处理。
九、调用友情链接
友情链接一般放在首页底部,可以使用 {dede:flink} 标签。
{dede:flink row='20' type='text'}
- [field:link/]
{/dede:flink}
如果是图片友情链接:
{dede:flink row='10' type='image'}
[field:link/]
{/dede:flink}
参数说明:
row:调用数量;type='text':文字链接;type='image':图片链接;[field:link/]:输出完整链接HTML。
十、调用广告标签
DedeCMS可以通过广告管理添加广告,然后在模板中调用广告位。
常见调用方式:
{dede:myad name='index_banner'/}
其中 index_banner 是广告标识。你需要先在后台广告管理中添加广告,并设置对应标识。
示例:
如果广告不显示,通常需要检查:
- 广告标识是否正确;
- 广告是否启用;
- 广告时间是否过期;
- 页面是否重新生成。
十一、使用include调用公共模板
在制作DedeCMS模板时,通常会将头部、底部、侧边栏等公共部分拆分为独立模板文件,然后通过 {dede:include} 调用。
1. 调用头部模板
{dede:include filename='head.htm'/}
2. 调用底部模板
{dede:include filename='footer.htm'/}
3. 调用侧边栏模板
{dede:include filename='sidebar.htm'/}
这样做的好处是方便维护。如果网站导航或底部信息需要修改,只需要改公共模板文件即可,不必每个页面都单独修改。
十二、自定义SQL调用:loop标签
如果系统内置标签无法满足需求,可以使用 {dede:loop} 自定义SQL查询。该方式适合有一定数据库基础的用户。
示例:调用最新10篇文章标题。
{dede:loop table='dede_archives' sort='id' row='10' if=''}
-
[field:title/]
{/dede:loop}
不过需要注意,自定义SQL调用要谨慎使用,尤其不要直接拼接用户输入参数,避免安全风险。同时,DedeCMS不同版本、不同表前缀可能有所差异,表名不一定都是 dede_ 开头。
在一般模板制作中,优先使用系统内置标签,例如 arclist、channel、list 等。只有在特殊需求下,才建议使用SQL调用。
十三、常用字段标签汇总
在 {dede:arclist}、{dede:list} 等循环标签中,经常会用到 [field:xxx/] 形式的字段标签。下面是一些常用字段:
| 字段标签 | 作用 |
|---|---|
[field:id/] |
文档ID |
[field:title/] |
标题 |
[field:fulltitle/] |
完整标题 |
[field:arcurl/] |
文章链接 |
[field:typeid/] |
栏目ID |
[field:typename/] |
栏目名称 |
[field:typeurl/] |
栏目链接 |
[field:litpic/] |
缩略图 |
[field:description/] |
摘要 |
[field:pubdate/] |
发布时间 |
[field:senddate/] |
更新或发布时间 |
[field:click/] |
点击量 |
[field:writer/] |
作者 |
[field:source/] |
来源 |
如果想格式化时间,可以这样写:
[field:pubdate function='strftime("%Y-%m-%d",@me)'/]
如果想截取摘要,可以这样写:
[field:description function='cn_substr(@me,100)'/]
十四、常用调用场景实战
1. 首页新闻模块调用
新闻中心
{dede:arclist typeid='1' row='6' titlelen='42' orderby='pubdate'}
-
[field:title/]
[field:pubdate function='strftime("%Y-%m-%d",@me)'/]
{/dede:arclist}
2. 首页产品展示调用
{dede:arclist typeid='4' row='8' flag='p' titlelen='24'}
{/dede:arclist}
3. 侧边栏热门文章调用
4. 内容页相关文章调用
likearticle 通常用于内容页,根据当前文章相关信息调用相关文章。
十五、Dede标签不生效的常见原因
很多人在使用Dede标签时会遇到标签原样输出、页面没有变化、数据不显示等问题。常见原因如下。
1. 模板文件放错位置
DedeCMS模板一般位于:
/templets/模板目录/
如果模板文件没有放到当前启用模板目录中,修改后自然不会生效。
2. 没有重新生成静态页面
DedeCMS很多页面是静态生成的。修改模板后,需要到后台重新生成:
- 生成首页;
- 生成栏目页;
- 生成文档页;
- 更新缓存。
如果只修改模板但不生成,前台页面可能仍然显示旧内容。
3. 标签写法错误
例如:
{dede:arclist row=10}
建议写成:
{dede:arclist row='10'}
属性值最好加引号,标签结束也要正确:
{/dede:arclist}
4. 栏目ID写错
调用指定栏目时,如果 typeid 不存在,可能无法输出内容。
{dede:arclist typeid='999' row='5'}
如果栏目ID为999不存在,自然没有数据。
5. 栏目下没有文章
即使标签正确,如果栏目下没有发布文章,或文章未审核,也可能无法显示。
6. 文档属性不符合
例如你使用:
{dede:arclist flag='c' row='5'}
但文章没有设置“推荐”属性,就不会被调用出来。
7. 缓存问题
有时浏览器缓存或系统缓存会导致页面不更新,可以尝试:
- 清理浏览器缓存;
- 后台更新系统缓存;
- 重新生成页面;
- 检查是否访问了正确的静态文件。
十六、Dede标签调用的SEO建议
合理使用DedeCMS标签,不仅能提高模板制作效率,也有助于网站SEO。
1. 标题标签要规范
首页标题可写为:
{dede:global.cfg_webname/}
栏目页标题可写为:
{dede:field.title/}_{dede:global.cfg_webname/}
内容页标题可写为:
{dede:field.title/}_{dede:global.cfg_webname/}
2. 每个页面设置关键词和描述
内容页可以调用文章关键词和摘要:
3. 合理调用相关文章
内容页底部调用相关文章,可以增加内链:
{dede:likearticle row='6'}
[field:title/]
{/dede:likearticle}
4. 避免首页堆砌过多调用
首页如果调用过多模块,可能会影响生成速度和页面加载体验。建议根据网站重点栏目合理布局,不要无限制调用大量文章。
十七、Dede标签调用最佳实践
为了让模板更加稳定、易维护,建议遵循以下几点:
-
公共部分使用include调用
头部、底部、导航、侧边栏建议拆分成公共模板。 -
列表调用明确typeid
首页模块最好指定栏目ID,避免内容混乱。 -
标题长度统一控制
使用titlelen控制标题长度,避免布局错乱。 -
图片调用要设置默认图
如果文章没有缩略图,前台可能出现图片裂开。可以在发布文章时统一上传缩略图,或在模板中做默认图处理。 -
减少复杂SQL调用
能用系统标签解决的,不建议大量使用自定义SQL。 -
修改模板后及时生成静态页
这是DedeCMS模板修改后最常见的遗漏点。 -
注意安全与版本问题
DedeCMS历史版本存在较多安全风险,建议使用经过安全加固的版本,并关闭不必要的功能和入口。
十八、总结
DedeCMS标签调用是模板制作的基础能力。掌握了常用标签后,你就可以灵活地制作首页、栏目页、内容页以及各种专题页面。对于新手来说,最重要的是先熟悉以下几个标签:
{dede:global/}:调用网站全局配置;{dede:channel}:调用栏目导航;{dede:arclist}:调用文章列表;{dede:list}:栏目页分页列表;{dede:field/}:调用当前页面字段;{dede:pagelist}:调用分页;{dede:include}:调用公共模板;{dede:flink}:调用友情链接;{dede:myad}:调用广告;{dede:prenext}:调用上一篇、下一篇。
如果你只是想实现普通企业站或资讯站模板,基本掌握 channel、arclist、list、field、include 这几个标签,就已经能够完成大部分页面制作。实际使用时,建议一边查看DedeCMS官方标签说明,一边结合模板文件调试。只要理解了标签结构、参数含义和调用场景,DedeCMS标签调用并不复杂。