Dede标签怎么调用?常用写法和模板示例一次讲清
dede怎么调用标签:DedeCMS标签调用方法与常用示例详解
在使用 DedeCMS(织梦内容管理系统)搭建网站时,“标签调用”是非常核心的一项能力。很多站长在制作首页、栏目页、内容页、列表页、专题页时,都需要通过 Dede 标签来调用文章列表、栏目导航、当前位置、文章标题、缩略图、推荐内容、热门内容、友情链接等信息。掌握 DedeCMS 标签调用方法,可以让网站模板制作更加灵活,也能大幅提高建站效率。
本文将围绕“dede怎么调用标签”这一主题,系统介绍 DedeCMS 标签的基本概念、调用规则、常用标签写法、不同页面的调用技巧以及使用过程中常见问题,适合新手站长、模板制作者和正在学习织梦建站的人阅读。
一、什么是 DedeCMS 标签?
DedeCMS 标签,也常被称为“织梦标签”或“dede标签”,是 DedeCMS 模板系统中用于动态调用数据的一种语法。简单来说,你在模板文件中写入指定格式的标签,系统在生成页面或访问页面时,就会自动把数据库中的内容读取出来并显示到网页上。
例如,想在首页调用最新文章列表,可以使用:
{dede:arclist row='10' titlelen='40'}
[field:title/]
{/dede:arclist}
这段代码的意思是:调用 10 篇文章,每篇文章标题长度限制为 40 个字符,并以列表形式输出文章链接和标题。
DedeCMS 标签的优势在于:
- 不需要直接写复杂的 PHP 代码;
- 可以快速调用栏目、文章、图片、推荐内容等;
- 模板结构清晰,便于维护;
- 适合静态生成和动态调用;
- 对新手相对友好。
二、Dede 标签的基本语法结构
DedeCMS 标签一般有两种形式:一种是单标签,一种是成对标签。
1. 单标签
单标签通常用于调用某个固定字段或系统信息,比如网站名称、当前位置、文章标题等。
示例:
{dede:global.cfg_webname/}
表示调用网站名称。
再比如内容页调用文章标题:
{dede:field.title/}
表示调用当前文章的标题。
2. 成对标签
成对标签一般用于循环调用多条数据,例如文章列表、栏目列表、友情链接等。
示例:
{dede:arclist row='5'}
[field:title/]
{/dede:arclist}
其中:
{dede:arclist row='5'}是开始标签;{/dede:arclist}是结束标签;[field:title/]表示调用文章标题字段;[field:arcurl/]表示调用文章链接字段。
在成对标签中,[field:字段名/] 是非常常见的写法,用于输出循环中的具体字段值。
三、DedeCMS标签调用的常见位置
在 DedeCMS 中,不同页面模板会使用不同的标签。常见模板包括:
| 页面类型 | 常见模板文件 | 常用标签 |
|---|---|---|
| 首页 | index.htm | arclist、channel、flink、global |
| 栏目页 | list_article.htm、list_image.htm | list、pagelist、field |
| 内容页 | article_article.htm | field、prenext、likearticle |
| 头部模板 | head.htm | global、channel、type |
| 底部模板 | footer.htm | global、flink |
| 专题页 | special.htm | arclist、field |
一般来说,首页模板主要调用网站整体信息和推荐内容;栏目页主要调用当前栏目下的文章列表;内容页主要调用文章正文、标题、发布时间、作者、上一篇下一篇等信息。
四、常用 Dede 标签调用方法
下面介绍一些实际建站中最常用的 Dede 标签调用方式。
五、调用网站基本信息
1. 调用网站名称
{dede:global.cfg_webname/}
常用于网页标题、logo旁边、底部版权信息等位置。
示例:
{dede:global.cfg_webname/}
2. 调用网站根目录
{dede:global.cfg_basehost/}
如果后台正确设置了站点根网址,这个标签可以调用网站主域名。
3. 调用网站关键词
{dede:global.cfg_keywords/}
常用于首页 meta keywords。
4. 调用网站描述
{dede:global.cfg_description/}
常用于首页 meta description。
六、调用栏目导航标签
网站头部导航通常需要调用栏目列表,可以使用 channel 标签。
1. 调用顶级栏目
{dede:channel type='top' row='8'}
[field:typename/]
{/dede:channel}
参数说明:
type='top':调用顶级栏目;row='8':调用 8 个栏目;[field:typeurl/]:栏目链接;[field:typename/]:栏目名称。
2. 调用指定栏目下的子栏目
{dede:channel type='son' typeid='1'}
[field:typename/]
{/dede:channel}
其中 typeid='1' 表示调用 ID 为 1 的栏目下的子栏目。
3. 调用当前栏目同级栏目
{dede:channel type='self'}
[field:typename/]
{/dede:channel}
这个写法通常用于栏目页侧边栏导航。
七、调用文章列表标签 arclist
arclist 是 DedeCMS 中使用频率最高的标签之一,用于调用文章、图文、推荐内容、热门内容等。
1. 调用最新文章
{dede:arclist row='10' orderby='pubdate' titlelen='40'}
[field:title/]
{/dede:arclist}
说明:
row='10':调用 10 篇;orderby='pubdate':按发布时间排序;titlelen='40':标题长度限制为 40。
2. 调用指定栏目文章
{dede:arclist typeid='3' row='8' titlelen='36'}
[field:title/]
{/dede:arclist}
其中 typeid='3' 表示调用栏目 ID 为 3 的文章。
如果想调用多个栏目,可以写:
{dede:arclist typeid='3,4,5' row='10'}
[field:title/]
{/dede:arclist}
3. 调用带缩略图文章
{dede:arclist row='6' typeid='2' imgwidth='200' imgheight='120'}
{/dede:arclist}
常用字段:
[field:litpic/]:缩略图;[field:title/]:文章标题;[field:arcurl/]:文章链接;[field:description/]:文章摘要;[field:pubdate function="MyDate('Y-m-d',@me)"/]:发布时间。
4. 调用推荐文章
DedeCMS 中文章可以设置推荐属性,调用推荐文章可以这样写:
{dede:arclist flag='c' row='10' titlelen='40'}
[field:title/]
{/dede:arclist}
常见 flag 属性包括:
| 标识 | 含义 |
|---|---|
| c | 推荐 |
| h | 头条 |
| a | 特荐 |
| f | 幻灯 |
| s | 滚动 |
| p | 图片 |
| j | 跳转 |
不同版本和模板中使用习惯可能略有不同,但推荐、头条、图片属性是比较常用的。
5. 调用热门文章
{dede:arclist row='10' orderby='click' titlelen='40'}
[field:title/]
{/dede:arclist}
orderby='click' 表示按照点击量排序。
6. 调用随机文章
{dede:arclist row='8' orderby='rand'}
[field:title/]
{/dede:arclist}
随机文章适合用于“猜你喜欢”“随机推荐”等模块,但如果网站数据量很大,频繁随机查询可能影响性能,应谨慎使用。
八、栏目页调用文章列表
栏目页通常使用 list 标签,而不是 arclist。因为 list 标签可以自动调用当前栏目下的内容,并支持分页。
示例:
{dede:list pagesize='10' titlelen='50'}
[field:title/]
[field:pubdate function="MyDate('Y-m-d',@me)"/]
[field:description/]
{/dede:list}
分页标签:
{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}
说明:
pagesize='10':每页显示 10 篇;titlelen='50':标题长度;pagelist:输出分页导航;listitem:控制显示首页、上一页、下一页、页码等;listsize='5':显示页码数量。
栏目页常见结构如下:
{dede:list pagesize='12'}
-
[field:title/]
{/dede:list}
{dede:pagelist listitem="index,pre,pageno,next,end" listsize="5"/}
九、内容页调用标签
内容页主要调用当前文章的字段信息,比如标题、正文、发布时间、作者、来源、点击量、上一篇下一篇等。
1. 调用文章标题
{dede:field.title/}
2. 调用发布时间
{dede:field.pubdate function="MyDate('Y-m-d H:i',@me)"/}
3. 调用作者
{dede:field.writer/}
4. 调用来源
{dede:field.source/}
5. 调用文章正文
{dede:field.body/}
6. 调用文章点击量
有些模板也会通过相关字段或脚本方式调用点击数,具体写法与版本、模板有关。
7. 调用上一篇下一篇
上一篇:{dede:prenext get='pre'/}
下一篇:{dede:prenext get='next'/}
如果希望输出更完整的结构,可以根据模板样式包裹 HTML:
上一篇:{dede:prenext get='pre'/}
下一篇:{dede:prenext get='next'/}
8. 调用相关文章
{dede:likearticle row='6' titlelen='40'}
[field:title/]
{/dede:likearticle}
likearticle 一般根据关键词、栏目等规则调用相关文章,适合放在内容页底部,提高用户停留时间和内链效果。
十、调用当前位置面包屑导航
面包屑导航可以提升用户体验,也有利于搜索引擎理解页面结构。
常用写法:
当前位置:{dede:field name='position'/}
或者:
栏目页、内容页都可以使用该标签。
十一、调用友情链接
友情链接一般放在首页底部,可以使用 flink 标签。
{dede:flink row='24' type='text'}
[field:webname/]
{/dede:flink}
如果是图片友情链接:
{dede:flink row='10' type='image'}
{/dede:flink}
常用字段:
[field:webname/]:网站名称;[field:url/]:友情链接地址;[field:logo/]:友情链接图片。
十二、调用单页内容
如果网站中有“关于我们”“联系我们”“公司简介”等单页栏目,可以在模板中调用当前单页内容:
{dede:field.content/}
如果是在单页模板中,一般使用:
{dede:field.title/}
{dede:field.content/}
需要注意的是,不同单页模型字段可能有所差异,有时也会使用 body 或 content,具体取决于模板和模型设置。
十三、调用指定文章内容
有时候首页需要调用某一篇固定文章的标题、摘要或链接,可以使用 arclist 指定文章 ID:
{dede:arclist idlist='12'}
[field:title/]
[field:description/]
{/dede:arclist}
其中 idlist='12' 表示调用 ID 为 12 的文章。
如果要调用多篇指定文章:
{dede:arclist idlist='12,15,18'}
[field:title/]
{/dede:arclist}
十四、调用文章摘要并限制长度
调用摘要:
[field:description/]
如果想限制摘要长度,可以使用:
[field:description function='cn_substr(@me,100)'/]
示例:
{dede:arclist row='5'}
[field:title/]
[field:description function='cn_substr(@me,120)'/]
{/dede:arclist}
这里 cn_substr(@me,120) 表示截取 120 个字符左右的中文内容。
十五、调用时间并格式化
DedeCMS 的时间字段通常是时间戳,需要用函数格式化。
常见写法:
[field:pubdate function="MyDate('Y-m-d',@me)"/]
输出示例:
2026-06-02
如果需要显示年月日时分:
[field:pubdate function="MyDate('Y-m-d H:i',@me)"/]
如果在内容页调用当前文章发布时间:
{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}
十六、调用图片和缩略图
文章列表中调用缩略图:
![[field:title/]]([field:litpic/])
完整示例:
{dede:arclist row='4' flag='p'}
{/dede:arclist}
如果担心有些文章没有缩略图,可以在后台上传默认缩略图,或者在模板中通过 CSS/JS 做默认图处理。部分模板也会使用函数判断图片是否为空,但新手建议优先规范后台内容发布流程。
十七、Dede标签中的常用参数说明
以 arclist 为例,常用参数如下:
| 参数 | 作用 | 示例 |
|---|---|---|
| row | 调用数量 | row='10' |
| typeid | 指定栏目ID | typeid='3' |
| titlelen | 标题长度 | titlelen='40' |
| orderby | 排序方式 | orderby='pubdate' |
| flag | 文档属性 | flag='c' |
| imgwidth | 图片宽度 | imgwidth='200' |
| imgheight | 图片高度 | imgheight='120' |
| idlist | 指定文章ID | idlist='1,2,3' |
| channelid | 指定模型ID | channelid='1' |
常见排序方式:
| orderby 值 | 含义 |
|---|---|
| pubdate | 发布时间 |
| senddate | 发布日期 |
| click | 点击量 |
| id | 文档ID |
| rand | 随机 |
| sortrank | 排序级别 |
如果你想让首页的新闻模块显示最新文章,一般用 orderby='pubdate';如果想做热门排行,则使用 orderby='click';如果做随机推荐,可以使用 orderby='rand'。
十八、Dede标签调用自定义字段
如果你在 DedeCMS 后台为模型添加了自定义字段,也可以在模板中调用。
假设自定义字段名为 price,在列表循环中可以这样写:
[field:price/]
在内容页可以这样写:
{dede:field.price/}
但是需要注意:某些情况下,arclist 默认不一定调用附加表字段。如果调用不到自定义字段,可能需要使用 addfields 和 channelid 参数。
示例:
{dede:arclist row='10' channelid='1' addfields='price'}
[field:title/]
价格:[field:price/]
{/dede:arclist}
这里:
channelid='1'表示指定内容模型;addfields='price'表示调用附加字段price。
如果有多个字段:
addfields='price,color,size'
十九、Dede标签调用不生效的常见原因
很多新手会遇到“标签写了但页面没有显示”“调用出来为空”“样式错乱”等问题。常见原因如下。
1. 模板文件没有生成
如果网站使用静态生成,修改模板后需要重新生成对应页面。
解决方法:
- 修改首页模板后,生成首页;
- 修改栏目页模板后,生成栏目;
- 修改内容页模板后,生成文档;
- 清理浏览器缓存后再查看。
2. 标签写错或结束标签缺失
成对标签必须有开始和结束,例如:
{dede:arclist row='10'}
...
{/dede:arclist}
如果少了结束标签,页面可能解析异常。
3. 字段写法错误
在循环标签中通常使用:
[field:title/]
而在内容页直接调用字段时使用:
{dede:field.title/}
两者不能随意混用。
4. 栏目 ID 写错
调用指定栏目内容时,如果 typeid 写错,就会没有结果。
可以进入后台栏目管理,查看栏目 ID 是否正确。
5. 文章未审核或未生成
DedeCMS 中文章通常需要审核后才会正常显示。如果文章是草稿、未审核,前台可能调用不到。
6. 文档属性不匹配
比如你调用推荐文章:
{dede:arclist flag='c'}
但后台没有给文章设置“推荐”属性,自然就没有内容显示。
7. 缓存问题
如果修改模板后前台仍然不变,可以尝试:
- 清除系统缓存;
- 重新生成静态页面;
- 刷新 CDN 缓存;
- 强制刷新浏览器缓存。
二十、Dede标签调用的实用组合案例
下面给出一个首页新闻模块的完整示例,包含栏目标题、更多链接、文章列表、时间和摘要。
新闻动态
更多
{dede:arclist typeid='2' row='6' titlelen='42' orderby='pubdate'}
-
[field:title/]
[field:pubdate function="MyDate('Y-m-d',@me)"/]
[field:description function='cn_substr(@me,80)'/]
{/dede:arclist}
图片推荐模块示例:
{dede:arclist typeid='4' row='4' flag='p' titlelen='30'}
{/dede:arclist}
热门排行模块示例:
{dede:arclist row='10' orderby='click' titlelen='36'}
-
[field:title/]
{/dede:arclist}
二十一、使用 Dede 标签的优化建议
1. 首页不要调用过多随机内容
orderby='rand' 虽然方便,但在数据量大时会增加数据库压力。首页尽量少用随机调用。
2. 合理控制调用数量
不要一次调用几百篇文章。首页模块建议每个区域调用 5 到 12 条即可。
3. 栏目页优先使用 list 标签
栏目页需要分页时,尽量使用 list 标签配合 pagelist,不要用 arclist 强行调用大量内容。
4. 注意图片尺寸
缩略图调用后,最好用 CSS 控制尺寸,避免页面变形。同时后台上传图片时尽量保持统一比例。
5. 规范栏目 ID 和模板结构
制作模板时,可以先整理栏目 ID 表,避免后期调用混乱。公共头部和底部建议用 include 引入,便于统一维护。
例如:
{dede:include filename="head.htm"/}
{dede:include filename="footer.htm"/}
6. 重视 SEO 标签调用
首页、栏目页、内容页的标题、关键词和描述要合理调用,避免大量页面标题重复。
内容页标题示例:
{dede:field.title/}_{dede:global.cfg_webname/}
栏目页标题示例:
{dede:field.seotitle/}_{dede:global.cfg_webname/}
二十二、总结
DedeCMS 标签调用并不复杂,关键是理解不同标签的用途和使用场景。简单来说:
- 调用网站配置,用
global; - 调用当前文章字段,用
field; - 调用文章列表,用
arclist; - 栏目页分页列表,用
list和pagelist; - 调用栏目导航,用
channel; - 调用友情链接,用
flink; - 调用相关文章,用
likearticle; - 调用上一篇下一篇,用
prenext。
对于新手来说,学习 Dede 标签最好的方法就是从常用模块开始练习,比如导航、新闻列表、图文推荐、内容页正文、分页和友情链接。只要熟悉了标签结构、参数含义和字段写法,就可以快速完成大部分模板制作需求。
在实际使用中,如果遇到标签不显示,优先检查模板是否生成、栏目 ID 是否正确、文章是否审核、标签是否闭合、字段名称是否写错。掌握这些排查方法后,DedeCMS 标签调用会变得非常高效。