织梦5.7(DedeCMS V5.7)作为一款国内广泛使用的开源内容管理系统,其标签系统是模板开发的核心,通过调用标签实现动态数据的展示,掌握织梦标签的使用方法,能够高效地构建灵活的网站页面,以下从标签基础语法、常用分类、实战案例及注意事项等方面详细说明。

织梦标签基础语法
织梦标签由大括号和包围,基本语法结构为:{标签名称 属性='值' /}
或{标签名称 属性='值'}...{/标签名称}
,标签名称表示调用的功能模块,属性则用于限定调用的条件、数量、排序等,斜杠表示单标签(无需闭合),而内容包裹型标签则需要{/标签名称}
闭合。{dede:arclist titlelen='20' row='5'}
是调用文章列表的单标签形式,而{dede:field name='title'/}
是调用文章标题的单标签。
常用标签分类及使用方法
文章列表类标签
文章列表是网站最常用的内容模块,主要通过{dede:arclist}
标签实现,常用属性包括:
typeid
:指定栏目ID,多个ID用逗号分隔,如typeid='1,3'
表示调用栏目ID为1和3下的文章。row
:调用文章数量,如row='10'
表示显示10篇文章,len字符长度,如
titlelen='30'`表示标题最多显示30个字符(中文15个,英文30个)。infolen
:摘要字符长度,如infolen='100'
表示摘要最多显示100个字符。orderby
:排序方式,可选click
(按点击量)、pubdate
(按发布时间)、id
(按文章ID)等,如orderby='click'
表示按点击量降序排列。idlist
:指定文章ID列表,如idlist='5,8,12'
表示只调用ID为5、8、12的文章。
示例代码:
{dede:arclist typeid='2' row='6' titlelen='20' orderby='pubdate'} <li> <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a> <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span> </li> {/dede:arclist}
[field:arcurl/]
表示文章链接,[field:title/]
表示文章标题,[field:pubdate/]
为发布时间,通过function
属性可对时间格式化,如MyDate('Y-m-d',@me)
将时间格式化为“年-月-日”。

页标签页用于展示单篇文章的详细信息,常用标签包括:
{dede:field name='title'/}
。{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}
:发布时间(支持自定义格式)。{dede:field name='body'/}
:文章正文内容。{dede:field name='source'/}
:文章来源。{dede:field name='writer'/}
:文章作者。{dede:likearticle}
:相关文章标签,可指定数量和排序。
示例代码:
<h1>{dede:field name='title'/}</h1> <div class="info"> 发布时间:{dede:field name='pubdate' function='strftime("%Y-%m-%d",@me)'/} 作者:{dede:field name='writer'/} 来源:{dede:field name='source'/} </div> <div class="content"> {dede:field name='body'/} </div>
栏目标签
栏目标签用于调用栏目信息,常用标签为{dede:channel}
,属性包括:
typeid
:指定栏目ID,如typeid='top'
表示调用顶级栏目。row
:调用栏目数量,如row='8'
。type
:栏目类型,son
表示下级栏目,self
表示当前栏目。
示例代码:
{dede:channel type='top' row='8'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel}
[field:typeurl/]
为栏目链接,[field:typename/]
为栏目名称。

搜索表单标签
搜索功能通过{dede:global name='keyword'/}
获取搜索关键词,{dede:search}
生成搜索表单,示例:
<form action="{dede:global name='cfg_phpurl'/}/search.php" method="get"> <input type="text" name="keyword" value="{dede:global name='keyword'/}" placeholder="请输入关键词"> <button type="submit">搜索</button> </form>
分页标签
分页标签{dede:pagelist}
通常用于列表页,常用属性:
listsize
:列表显示的页码数量,如listsize='5'
。listitem
:显示的项目,如listitem='info,index,end,pre,next'
。
示例代码:
{dede:pagelist listitem='info,index,end,pre,next' listsize='5'/}
标签使用注意事项
- 标签嵌套:织梦标签不支持无限嵌套,通常建议嵌套不超过3层,否则可能导致页面渲染异常。
- 属性值格式:属性值需用单引号或双引号包裹,如
row='10'
,若属性值包含引号,需转义为或。 - 自定义函数:部分标签支持
function
属性调用自定义函数,需在/include/helpers/
目录下定义函数,并在/include/common.inc.php
中引入。 - 缓存机制:织梦默认开启标签缓存,修改标签后需在后台“生成”->“更新HTML”中刷新缓存,否则看不到效果。
标签属性参数速查表
标签名称 | 常用属性 | 说明 |
---|---|---|
{dede:arclist} |
typeid , row , titlelen , orderby |
调用文章列表 |
{dede:field} |
name |
调用文章或栏目的单一字段(如标题) |
{dede:channel} |
typeid , row , type |
调用栏目列表 |
{dede:pagelist} |
listsize , listitem |
生成分页导航 |
{dede:search} |
无 | 生成搜索表单 |
相关问答FAQs
问题1:为什么调用文章列表时,部分文章不显示?
解答:可能原因包括:① typeid
属性指定的栏目ID不存在或无文章;② row
属性设置过小,导致被截断;③ 文章被设置为“仅会员可见”或“未审核”,需在后台检查文章状态,建议先简化标签属性(如仅保留typeid
和row
),逐步排查问题。
问题2:如何调用指定时间范围内的文章?
解答:可通过{dede:arclist}
的startdate
和enddate
属性实现,例如调用2023年1月1日至2023年12月31日的文章:
{dede:arclist startdate='20230101' enddate='20231231' row='10'} [field:title]<br> {/dede:arclist}
startdate
和enddate
需为8位数字格式(YYYYMMDD),表示起始和结束日期。