深入了解DedeCMS模板引擎:DIY技巧与织梦模板代码解析

没想到dedecms可以这样DIY,牛啊

深入了解DedeCMS模板引擎:DIY技巧与织梦模板代码解析

地址:

在了解 DedeCms 的模板代码之前,去了解一下织梦模板引擎的相关知识是很有意义的。织梦模板引擎是一种模板解析器,其形式为 XML 名字空间。使用织梦解析器来解析模板,有一个很大的好处,那就是能够轻松地制定标记的属性,这种感觉就如同在使用 HTML 一般。这使得模板代码变得十分直观且灵活。新版的织梦模板引擎,不仅能够实现模板的解析,还能够分析模板里错误的标记。

1、织梦模板引擎的代码样式有如下几种形式:

{dede:标记名称属性='值'/}

{dede:标记名称属性='值'}{/dede:标记名称}

自定义样式模板,其 InnerText 部分有特定属性。这种样式模板具有独特的 InnerText 属性。自定义的样式模板,其 InnerText 具有相应的属性。

提示:

如果使用带底层模板的标记,就必须严格按照{dede:标记名称属性='值'}{/dede:标记名称}这样的格式来使用,不然就会报错。

织梦模板引擎内置了许多系统标记,这些系统标记在所有的场合都可以直接被使用。

global 标记意味着获取一个外部变量,它可以调用系统的除数据库密码之外的任何配置参数,其形式为:

变量名称所对应的内容。

或

{dede:globalname='变量名称'/}

其中变量名称不能添加$符号,例如变量“cfg_cmspath”,需要写成{dede:global name='cfg_cmspath'}。

(2)foreach用来输出一个数组,形式为:

使用 foreach 循环遍历数组名称,对于每一个元素,分别输出其键名和键值。

(3)include引入一个文件,形式为:

{dede:includefile='文件名称'},判断是否为 dede 板块模板的条件为{ismake}。如果{ismake}为 yes,则进行包含文件的操作;如果{ismake}为 no,则不进行包含文件的操作。

对文件的搜索路径有这样的顺序:首先是绝对路径,接着是 include 文件夹,然后是 CMS 安装目录,最后是 CMS 主模板目录

织梦标记能够在所有标记里运用函数来处理所得到的值,其形式为:

使用了“dede:标记名称属性='值'function='youfunction("参数一","参数二","@me")'”这个内容,具体的含义和作用需要根据相关的编程环境和代码逻辑来确定,它可能是用于特定的页面生成、数据处理或其他编程任务中的一个功能调用或标记定义。

其中@me 是用来表示当前标记的值的,而其它参数则由你的函数来决定是否存在,例如:

{dede:fieldname='pubdate' function='strftime("%Y 年 %m 月 %d 日 %H 时 %M 分 %S 秒","@me")'}

4、织梦标记允许有限的编程扩展。

格式为:

{dede:tagnamerunphp='yes'}

$aaa=@me;

@me="123456";

{/dede:tagname}

这个标记@me 本身的值由@me 表示,所以在标记内进行编程时不能使用 echo 这类语句,而只能将所有返回值传递给@me。

此外,因为程序代码把底层模板 InnerText 的内容给占用了,所以需要编程的标记只能够使用默认的 InnerText。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读