### [dedecms标签怎么用](https://www.prosaas.cn/article/5075)
**Published:** 2019-07-29T06:08:04
**Author:** 5201314
**Excerpt:** 有三种使用方式:1、“{dede:标记名称 属性='值'}”; 2、“{dede:标记名称 属性='值'}{/…
> 有三种使用方式:1、“{dede:标记名称 属性='值'}”; 2、“{dede:标记名称 属性='值'}{/dede:标记名称}”;3、“{dede:标记名称 属性='值'}自定义模板(InnerText){/dede:标记名称}”。

了解一下织梦模板引擎的知识是非常有意义的。模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。
1、织梦模板引擎的代码样式有如下几种形式:
- `{dede:标记名称 属性='值'/} `
- `{dede:标记名称 属性='值'}{/dede:标记名称}`
- `{dede:标记名称 属性='值'}自定义样式模板(InnerText){/dede:标记名称}`
提示:
如果使用带底层模板的标记,必须严格用{dede:标记名称 属性='值'}{/dede:标记名称} 这种格式,否则会报错。
**【Arclist 标记】**
这个标记是DedeCms最常用的一个标记,也叫自由列表标记,其中 hotart、coolart、likeart、artlist、imglist、imginfolist、specart、autolist 这些标记都是由这个标记所定义的不同属性延伸出来的别名标记。
**功能说明:**获取指定的文档列表
**适用范围:**封面模板、列表模板、文档模板
**基本语法:**
{dede:arclist typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
底层模板(InnerText){/dede:arclist}
**属性说明:**
\[1\] typeid='' 表示栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;
\[2\] row='' 表示返回文档列表总数;
\[3\] col='' 表示分多少列显示(默认为单列);
\[4\] titlelen='' 表示标题长度
\[5\] infolen='' 表示内容简介长度;
\[6\] imgwidth='' 表示缩略图宽度;
\[7\] imgheight='' 表示缩略图高度;
\[8\] type='' 表示档案类型,其中空值、不使用这个属性或type='all'时为普通文档
§ type='commend'时,表示推荐文档,等同于 {dede:coolart}{/dede:coolart}
§ type='image'时,表示必须含有缩略图片的文档,等同于{dede:imglist}{/dede:imglist}、{dede:imginfolist} {/dede:imginfolist}
§ type='spec'时,表示专题,等同于标记{dede:specart}{/dede:specart}
以上属性值可以联合使用,如: type='commend image' 表示推荐的图片文档
\[9\] orderby='' 表示排序方式,默认值是 senddate 按发布时间排列。
§ orderby='hot' 或 orderby='click' 表示按点击数排列
§ orderby='pubdate' 按出版时间排列(即是前台允许更改的时间值)
§ orderby='sortrank' 按文章的新排序级别排序(如果你想使用置顶文章则使用这个属性)
§ orderby='id' 按文章ID排序
§ orderby='postnum' 按文章评论次数排序
§ orderby='rand' 随机获得指定条件的文档列表
\[10\] orderway='' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序。
\[11\] keyword='' 表示含有指定关键字的文档列表,多个关键字用","分开
\[12\] channelid='' 表示特定的频道模型ID,内置的频道:专题(-1)、文章(1)、图集(2)、Flash(4)、软件(3)
\[13\] limit='起始,结束' 表示限定的记录范围,row属性必须等于"结束 - 起始",mysql的limit语句是由0起始的,如 “limit 0,5”表示的是取前五笔记录,“limit 5,5”表示由第五笔记录起,取下五笔记录,使用了本属性后,row属性将无效。
\[14\] att='数值' 表示自定义属性值
\[15\] subday='天数' 表示在多少天以内的文档,通常用于获取指定天数的热门文档、推荐文档、热门评论文档等
\[16\] partsort='排列位数' 表示自动获得父栏目的所有子数中排列在第几位的栏目ID,标记为 {dede:autolist}{/dede:autolist} 时,使用本属性才有效。
**底层模板字段:**
ID(同 id),title,iscommend,color,typeid,ismake,description(同 info),writer,shorttitle,memberid
pubdate,senddate,arcrank,click,litpic(同 picname),typedir,typename,
arcurl(同 filename),typeurl,stime(pubdate 的"0000-00-00"格式),
textlink,typelink,imglink,image
其中:
textlink = [title]('arcurl')
typelink = [typename]('typeurl')
imglink = []('arcurl')
image = 
**字段调用方法:**\[field:varname/\]
如:
{dede:arclist infolen='100'}
\[field:textlink/\]
\[field:info/\]
{/dede:arclist}
**注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能**
如: 给当天发布的内容加上 (new) 标志
\[field:senddate runphp='yes'\]
$ntime = time();
$oneday = 3600 \* 24;
if(($ntime - @me)<$oneday) @me = "(new)";
else @me = "";
\[/field:senddate\]
**【Field 标记】**
**功能说明:**用于获取特定栏目或档桉的字段值及常用的环境变量值
**适用范围:**封面模板、列表模板、文档模板
**(1)基本语法**
{dede:field name='字段名'/}
**(2) 系统分配的field**
板块模板:phpurl,indexurl,indexname,templeturl,memberurl,powerby,webname,specurl
列表模板:position,title,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,栏目表dede\_arctype的所有字段
其中 position 为 “栏目一 > 栏目二” 这样形式的链接,title则为这种形式的标题
文档模板:position,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl,id(同 ID,aid)
**(3) 文档所有内容字段**
档案dede\_archives表 和 附加表的所有字段。
**【Channel 标记】**
**功能说明**:用于获取栏目列表
**适用范围**:封面模板、列表模板、文档模板
**(1)基本语法**
{dede:channel row='' type=''}
自定义样式模板(InnerText)
{/dede:channel}
**(2)属性**
\[1\] row='数字' 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8)
\[2\] type = top,sun/son,self
type='top' 表示顶级栏目
type='son' 或 'sun' 表示下级栏目
type='self' 表示同级栏目
其中后两个属性必须在列表模板中使用。
(3)底层模板变量
ID,typename,typedir,typelink(仅表示栏目的网址)
例:
{dede:channel type='top'}
\[field:typename/\]
{/dede:channel}
**注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类**
**【Type 标记】别名 onetype**
**功能说明:**表示指定的单个栏目的链接
**适用范围:**封面模板、列表模板、文档模板
**(1)语法**
{dede:type typeid=''}{/dede:type}
**(2)属性**
typeid='栏目ID'
**(3)底层模板变量**
typename,typelink(仅表示栏目的网址)
**【Autochannel 标记】**
**功能说明:**表示指定排序位置的单个栏目的链接
**适用范围:**封面模板、列表模板、文档模板
**(1)语法**
{dede:autochannel partsort=''}{/dede:autochannel}
**(2)属性**
partsort='栏目所在的排序位置'
**(3)底层模板变量**
typename,typelink(仅表示栏目的网址)
**【Mytag 标记】**
**功能说明:**用于获取自定义宏标记的内容
**适用范围:**封面模板、列表模板、文档模板
**(1)基本语法**
{dede:mytag typeid='' name='' ismake=''/}
**(2)属性**
\[1\] typeid = '数字' 表示栏目ID,默认为 0,在没有设定的栏目没有定义这个名称的标记,会按如下搜索方式来搜索“先向上查找父栏目 -> 通用标记(typeid=0)的同名标记”。
\[2\] name = '' 标记名称。
\[3\] ismake = yes|no 默认为 no 表示mytag里的内容不包含其它封面模板的标记,yes则表示标记内容含有其它封面模板标记。
**【Vote 标记】**
**功能说明:**用于获取一组投票表单
**适用范围:**封面模板
**(1) 基本语法**
{dede:vote id='投票ID' lineheight='22'
tablewidth='100%' titlebgcolor='#EDEDE2'
titlebackground='' tablebgcolor='#FFFFFF'}
{/dede:vote}
**注:本标记直接生成投票的HTML表单,为了让你更方便修改其样式,建议在后台->投票管理的地方直接复制生成的HTML代码来使用。**
**【Flink 标记】,等同 friendlink**
**功能说明:**用于获取友情链接
**适用范围:**封面模板
**(1)基本语法**
{dede:flink type='' row='' col='' titlelen='' tablestyle=''}{/dede:flink}
**(2)属性**
\[1\]type:链接类型,值:
a. textall 全部用文字显示
b. textimage 文字和图得混合排列
c. text 仅显示不带Logo的链接
d. image 仅显示带Logo的链接
\-------------------------------------
\[2\]row:显示多少行,默认为4行
\[3\]col:显示多少列,默认为6列
\[4\]titlelen:站点文字的长度
\[5\]tablestyle: 表示
**【Mynews 标记】**
**功能说明:**用于获取站内新闻
**适用范围:**封面模板
**(1) 基本语法**
{dede:mynews row='条数' titlelen='标题长度'}Innertext{/dede:mynews}
**(2)属性**
\[1\] row 新闻条数
\[2\] titlelen 标题长度
(3)底层模板变量
\[field:title/\]、\[field:writer/\]、
\[field:senddate function="strftime('%y-%m-%d %H:%M',@me)"/\](时间)、\[field:body/\]
**【LOOP 标记】**
**功能说明:**用于调用任意表的数据,一般用于调用论坛贴子之类的操作
**适用范围:**所有模板
**(1) 基本语法**
{dede:loop table=' sort='' row='' if=''}
底层模板
{/dede:loop}
**(2) 属性**
\[1\] table 表示查询的数据表
\[2\] sort 用于排序的字段
\[3\] row 返回结果的条数
\[4\] if 查询条件
**(3)底层模板变量**
这个标记的底层模板变量即是被查询表的所有字段
例:获取Phpwind论坛的最新主题贴子
{dede:loop table='pw\_threads' sort='tid' row='8' if=''}
·\[field:subject function="cn\_substr('@me',30)"/\]
(\[field:lastpost function="date('m-d H:M','@me')"/\])
{/dede:loop}
**【Channelartlist 标记】**
**功能说明:**用于获取当前频道的下级栏目的内容列表
**适用范围:**封面模板
**(1)基本语法**
{dede:channelArtlist typeid=0 col=2 tablewidth='100%'}
{dede:type}
|
|||
|
{dede:arclist row="8"}
·\[field:title /\] {/dede:arclist} |