DEDECMS模板标签语法简介
DEDECMS(织梦内容管理系统)的模板标签语法是用于生成动态网页内容的一种标记语言,它类似于XML格式,通过特定的定界符和属性来控制内容的输出和样式,本文将详细介绍DEDECMS模板标签的基本语法、常用标签及其应用,帮助用户更好地理解和使用这一系统。
基本语法
1、标签定界符:DEDECMS模板标签的默认定界符是{dede:*}
和{/dede:*}
,其中代表具体的标签名称。
“`html
{dede:arclist flag=’h’ limit=’0,1′}
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<p>[field:description/]…<a href="[field:arcurl/]">[查看全文]</a></p>
{/dede:arclist}
“`
上述代码中,{dede:arclist}
和{/dede:arclist}
成对出现,中间的内容为底层模板(innertext)。
2、底层模板(Innertext):底层模板用于定义多条记录输出时的单个记录样式,如果没有指定单个记录的样式,系统会使用默认的底层模板。
“`html
{dede:global.cfg_webname/}
{dede:arclist flag=’h’ limit=’0,1’/}
“`
上述代码中,{dede:global.cfg_webname/}
和{dede:arclist}/
以单标签形式出现,通常用于输出变量或不包含底层模板的内容。
3、模板注释:模板注释可以通过标签后面的commet
属性进行赋值,用于增强代码的可读性。
“`html
{dede:arclist flag=’h’ limit=’0,1′ commet=’调用头条的第一篇内容’}
[field:title commet="这是文章标题标签"/]
[field:description commet="这是摘要标签"/]…
{/dede:arclist}
“`
在模板引擎解析为HTML时,commet
会被忽略掉,但在阅读模板标记时可以帮助理解标签的意义。
4、自定义函数:每个DEDECMS标签都可以使用自定义函数进行扩展,用于处理当前标签的输出内容。
“`html
{dede:field.pubdate function=’strftime("%Y%m%d %H:%M:%S","@me")’/}
“`
上述代码中,function
属性用于调用自定义函数strftime
,@me
表示当前标记的值。
5、模板属性:模板标签的属性决定了模板标记的输出形式。
“`html
{dede:arclist flag=’h’ limit=’0,1′}
…
{/dede:arclist}
“`
上述代码中,flag
和limit
是arclist
标签的相关属性,通过手册可以查阅这些属性的具体含义,如果标签没有列出属性,系统会使用默认属性值。
6、模板编程:DEDECMS支持简单的模板编程,格式如下:
“`html
{dede:tagname runphp=’yes’}
$aaa = @me;
@me = "123456";
{/dede:tagname}
“`
@me
表示这个标记本身的值,因此标记内编程不能使用echo
之类的语句,只能把所有返回值传递给@me
。
常用标签及应用
1、arclist标签:用于获取系统主从表模型的一列文档,常用于列表页。
“`html
{dede:arclist row=’10’ titlelen=’24’ orderby=’pubdate’ idlist=” col=’2′}
[field:textlink/] ([field:pubdate function=MyDate(‘md’,@me)/]) <br/>
{/dede:arclist}
“`
上述代码中,row
表示返回文档列表总数,titlelen
长度,orderby
表示排序方式,col
表示分多少列显示。
2、mynews标签:用于站内新闻调用。
“`html
{dede:mynews row=’10’ titlelen=’24’/}
“`
上述代码中,row
表示调用站内新闻数,titlelen
表示新闻标题长度。
3、mytag标签:用于获取自定义宏标记的内容。
“`html
{dede:mytag typeid=’0′ name=”/}
“`
上述代码中,typeid
表示所属栏目的ID,name
表示标记名称。
4、sonchannel标签:用于子栏目调用。
“`html
{dede:sonchannel}
<a href='[field:typeurl/]’>[field:typename/]</a>
{/dede:sonchannel}
“`
上述代码中,typeurl
表示栏目的网址,typename
表示栏目名称。
5、sql标签:用于从模板中用一个SQL查询获得其返回内容。
“`html
{dede:sql sql=’Select * from dede_archives where mid=1′}
<a href=’/plus/view.php?aid=[field:id/]’ target=’_blank’>[field:title/]</a>
{/dede:sql}
“`
上述代码中,sql
属性用于编写完整的SQL查询语句。
6、tag标签:用于TAG调用。
“`html
{dede:tag sort=’new’ getall=’0′}
<a href='[field:link/]’>[field:tag /]</a>
{/dede:tag}
“`
上述代码中,sort
表示排序方式,getall
表示是否获取全部TAG标记。
7、type标签:用于表示指定的单个栏目的链接。
“`html
{dede:type}
<a href="[field:typelink /]">[field:typename /]</a>
{/dede:type}
“`
上述代码中,typelink
表示栏目的网址,typename
表示栏目名称。
8、vote标签:用于获取一组投票表单。
“`html
{dede:vote id=” lineheight=’22’ tablewidth=’100%’ titlebgcolor=’#EDEDE2′ titlebackground=” tablebgcolor=’#FFFFFF’/}
“`
上述代码中,lineheight
表示表格高度,tablewidth
表示表格宽度,titlebgcolor
表示投票标题背景色。
9、list标签:用于列表模板里的分页内容列表。
“`html
{dede:list col=” titlelen=” infolen=” imgwidth=” imgheight=” listtype=” orderby=” pagesize=” orderway=”}{/dede:list}
“`
上述代码中,col
列数,titlelen
长度,infolen
摘要长度。
10、pagelist标签:用于表示分页页码列表。
“`html
{dede:pagelist listsize=’5′ listitem=”/}
“`
上述代码中,listsize
表示分页大小。
FAQs(常见问题解答)
1、问题1:如何在DEDECMS中调用特定栏目的文章列表?
答:可以使用arclist
标签来实现。
“`html
{dede:arclist typeid=’1′ row=’10’ titlelen=’30’ orderby=’pubdate’}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
“`
2、问题2:如何在DEDECMS中实现自定义字段的调用?
答:可以使用自定义函数来实现。
“`html
{dede:field.pubdate function=’strftime("%Y%m%d %H:%M:%S","@me")’/}
“`
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1115978.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复