- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模板语法
织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。
织梦模板引擎的代码样式
{dede:标记名称?属性=值/}{dede:标记名称?属性=值}{/dede:标记名称}{dede:标记名称?属性=值}自定义样式模板(InnerText){/dede:标记名称}
注:如果使用带底层模板的标记,必须严格用{dede:标记名称?属性=值}{/dede:标记名称}?这种格式,否则会报错。
内置系统标记
①?global?标记,表示获取一个外部变量,除了数据库密码之外,能调用系统的任何配置参数,形式为:{dede:global name=变量名称}{/dede:global}或{dede:global name=变量名称/}
其中变量名称不能加$符号???如变量$cfg_cmspath,应该写成{dede:global name=cfg_cmspath/}。
②?foreach?用来输出一个数组,形式为:?{dede:foreach array=数组名称}[field:key/] [field:value/]{/dede:foreach}
③?include?引入一个文件,形式为:?{dede:include file=文件名称 ismake=是否为dede板块模板(yes/no)/}?对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录
自定义函数使用
{dede:标记名称?属性=值 function=youfunction(参数一,参数二,@me)/}
其中?@me?用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:
{dede:field name=pubdate function=strftime(%Y-%m-%d %H:%M:%S,@me)/}
织梦标记允许有限的编程扩展
格式为:{dede:tagname runphp=yes}?????? $aaa = @me;?????? @me = 123456;{/dede:tagname}?@me?表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me。此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。
标记语法
标记通用特性
①?短标记{dede:/}等同于{dede:tagname name= /}②?块标记{dede:tagname}循环代码{/dede:tagname}
标记的具体语法及对应的PHP代码
①?配置变量{dede:config name= value=/}配置变量可以在载入模板后通过?$tpl-GetConfig($name)?获得,仅作为配置,不在模板中显示。②?短标记
{dede:/}???外部变量??????等同于??php echo $name; ?{dede:/}????? var数组???????等同于??php echo $_vars[name]; ?{dede:/}??? field数组?????等同于??php echo $fields[name]; ?{dede:/}??????系统配置变量??等同于??php echo $cfg_name; ?考虑到大多数情况下都会在函数或类中调用模板,因此?$_vars、$fields?数组必须声明为?global?数组,否则模板引擎无法获得它的值从而导致产生错误。
③?自由调用块标记
{tag:blockname bind=GetArcList bindtype=class}循环代码{/tag:blockname}必要属性:bind???????数据源来源函数bindtype???函数类型,默认是?class?可选为?subrstype?????返回结果类型,默认是?array?,可选项为?string自定义函数格式必须为?function(array $atts,object $refObj, array $fields);在没有指定?bind?绑定的函数的情况下,默认指向?MakePublicTag($atts,$tpl-refObj,$fields)?统一管理。
④?固定块标记
1.datalist从绑定类成员函数GetArcList中获取数组并输出{dede:datalist}循环代码{/dede:datalist}遍历一个二给维数组,数据源是固定的,只适用用类调用。等同于?{ta
您可能关注的文档
- 2016高考一轮复习历史必修二第二单元第1讲教学案教案分析.doc
- 0309龙源橡胶制品废气治理投标文件教案分析.doc
- 2016高考政治大一轮复习专题五日益重要的国际组织考点整合新人教版选修3教案分析.doc
- 348省道洪泽南环段建设工程项目质量检验评定表(H表)教案分析.doc
- 2016高考政治二轮专题二企业经营与发展教案分析.doc
- 360吨除盐水技术协议(最终)教案分析.doc
- 2016高三生物第一轮总复习第一编考点过关练考点37生态系统的信息传递和稳定性教案分析.doc
- 00395科学、技术、社会教案分析.doc
- 422洗衣店营销策划-市场营销期末作业教案分析.doc
- 500吨每天MBR生活污水处理方案教案分析.doc
原创力文档


文档评论(0)