欢迎来到天天文库
浏览记录
ID:10248113
大小:1.13 MB
页数:51页
时间:2018-06-13
《dedecms标签手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、模板语法织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。织梦模板引擎的代码样式{dede:标记名称 属性='值'/}{dede:标记名称 属性='值'}{/dede:标记名称}{dede:标记名称 属性='值'}自定义样式模板(InnerText){/dede:标记名称}注:如果使用带底层模板的标记,必须严格用{dede:标记名
2、称 属性='值'}{/dede:标记名称} 这种格式,否则会报错。内置系统标记① global 标记,表示获取一个外部变量,除了数据库密码之外,能调用系统的任何配置参数,形式为:{dede:globalname='变量名称'}{/dede:global}或{dede:globalname='变量名称'/}其中变量名称不能加$符号,如变量$cfg_cmspath,应该写成{dede:globalname='cfg_cmspath'/}。② foreach 用来输出一个数组,形式为: {dede:foreach
3、array='数组名称'}[field:key/][field:value/]{/dede:foreach}③ include 引入一个文件,形式为: {dede:includefile='文件名称'ismake='是否为dede板块模板(yes/no)'/} 对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录自定义函数使用{dede:标记名称 属性='值'function='youfunction("参数一","参数二","@me")'/}其中 @me 用于表示当前
4、标记的值,其它参数由你的函数决定是否存在,例如:{dede:fieldname='pubdate'function='strftime("%Y-%m-%d%H:%M:%S","@me")'/}织梦标记允许有限的编程扩展格式为:{dede:tagnamerunphp='yes'} $aaa=@me; @me="123456";{/dede:tagname} @me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me。此外由于程序代码占用了底层模
5、板InnerText的内容,因此需编程的标记只能使用默认的InnerText。标记语法标记通用特性① 短标记{dede:tagname.name/}等同于{dede:tagnamename=''/}② 块标记{dede:tagname}循环代码{/dede:tagname}标记的具体语法及对应的PHP代码① 配置变量{dede:configname=''value=''/}配置变量可以在载入模板后通过 $tpl->GetConfig($name) 获得,仅作为配置,不在模板中显示。② 短标记{dede:gl
6、obal.name/} 外部变量 等同于 {dede:var.name/} var数组 等同于 {dede:field.name/} field数组 等同于 {dede:cfg.name/} 系统配置变量 等同于 考虑到大多数情况下都会在函数或类中调用模板,因此 $_va
7、rs、$fields 数组必须声明为 global 数组,否则模板引擎无法获得它的值从而导致产生错误。③ 自由调用块标记{tag:blocknamebind='GetArcList'bindtype='class'}循环代码{/tag:blockname}必要属性:bind 数据源来源函数bindtype 函数类型,默认是 class 可选为 subrstype 返回结果类型,默认是 array ,可选项为 string自定义函数格式必须为 function(array$atts,o
8、bject$refObj,array$fields);在没有指定 bind 绑定的函数的情况下,默认指向 MakePublicTag($atts,$tpl->refObj,$fields) 统一管理。④ 固定块标记1.datalist从绑定类成员函数GetArcList中获取数组并输出{dede:datalist}循环代码{/dede:datalist}遍历一个二给维数组,数据源是固定的,只适用用类调用。等同于
此文档下载收益归作者所有