织梦CMS模板标签基本语法分析课程

2021-10-10 作者:未知   |   浏览(
-->DEDE的模板标签像XML格式,所有些模板都含有定界符,默认状况下是{dede:*}和{/dede:*},“*”代表模板标记名字。
通常情况下{dede:*}和{/dede:*}是成对出现的,比如:
例1-1:
{dede:arclist flag='h' limit='0,1'}

[field:title/]

[field:description/]...[查询全文]

{/dede:arclist}
上面的{dede:arclist}和{/dede:arclist}成对出目前模板文件中,并且在两个标签当中包含了底层模板。
底层模板(Innertext),底层模板事实上就是对于有多条记录的模板输出,用户手工去指定单个记录的样式。
标签还有一类出现形式是{dede:*/},一般以这种形式出现都是输出变量、或者不含底层模板的内容。
比如:1-2
{dede:global.cfg_webname/}
{dede:arclist flag='h' limit='0,1'/}
假如用户没指定单个记录的样式,系统部分标签都含有默认的底层模板,具体可以查询{cmapath}/templets/system/文件夹下面的文件,这里面都是系统的底层模板文件。
注释
DEDE标签的模板注释很灵活,可以通过标签后面的commet属性进行赋值。
例1-3:
{dede:arclist flag='h' limit='0,1' commet='调用头条的第一篇内容'}

[field:titlecommet="这是文章标题标签"/]

[field:description commet="这是摘要标签"/]...[查询全文]

{/dede:arclist}
在模板引擎将上述标签分析为html的时候,commet的内容是被忽视掉不去分析的,用户在阅读模板标记的时候可以更好的理解标签的意义。
函数
每个DEDE的标签都可以用自概念函数对其进行扩展,自概念函数内容主要用于对目前标签输出内容进行处置。
例1-4:
{dede:标记名字function='youfunction'/}
其中 @me 用于表示目前标记的值,其它参数由你的函数决定是不是存在,比如:
{dede:field.pubdate function='strftime'/}
属性
模板标签的属性,决定了模板标记输出的形式,比如arclist标签主要功能是列出文档列表,但列出什么内容、根据什么方法进行排序等取决于模板标签的属性。
在DEDE的模板标签说明中含有各个模板的标签属性可以详细查阅。
可以查询例1-1中的flag='h' limit='0,1',这里flag和limit是标签的有关属性,通过手册可以查阅属性的介绍。
假如模板标签假如没列出属性,系统有默认属性值,用户可以参考模板标签说明查询默认属性。
编程
DEDECMS模板很便捷的一个地方就是支持容易的模板编程。
格式为:
{dede:tagname runphp='yes'}
$aaa = @me;
@me = "123456";
{/dede:tagname}
@me 表示这个标记本身的值,因此标记内编程是不可以用echo之类的语句的,只能把所有返回值传递给@me。
除此之外因为程序代码占用了底层模板InnerText的内容,因此需编程的标记只能用默认的InnerText。