织梦模板标记简介


Posted in PHP onMarch 11, 2007

在了解DedeCms的模板代码之前,了解一下织梦模板引擎的知识是非常有意义的。织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。

1、织梦模板引擎的代码样式有如下几种形式:
{dede:标记名称 属性='值'/}
{dede:标记名称 属性='值'}{/dede:标记名称}
{dede:标记名称 属性='值'}自定义样式模板(InnerText){/dede:标记名称}

提示:
如果使用带底层模板的标记,必须严格用{dede:标记名称 属性='值'}{/dede:标记名称} 这种格式,否则会报错。

2、织梦模板引擎内置有多个系统标记,这些系统标记在任何场合都是能直接使用的。

(1) global 标记,表示获取一个外部变量,除了数据库密码之外,能调用系统的任何配置参数,形式为:
{dede:global name='变量名称'}{/dede:global}

{dede:global name='变量名称'/}

其中变量名称不能加 $ 符号,如变量 $cfg_cmspath ,应该写成 {dede:global name='cfg_cmspath'/} 。

(2) foreach 用来输出一个数组,形式为:
{dede:foreach array='数组名称'}[field:key/] [field:value/]{/dede:foreach}

(3) include 引入一个文件,形式为:
{dede:include file='文件名称' ismake='是否为dede板块模板(yes/no)'/}
对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录

3、织梦标记允许在任何标记中使用函数对得到的值进行处理,形式为:
{dede:标记名称 属性='值' function='youfunction("参数一","参数二","@me")'/}
其中 @me 用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:
{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S","@me")'/}

4、织梦标记允许有限的编程扩展。
格式为:
{dede:tagname runphp='yes'}
$aaa = @me;
@me = "123456";
{/dede:tagname} 
@me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me。
此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。

PHP 相关文章推荐
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
PHP与Java进行通信的实现方法
Oct 21 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
Apr 07 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
May 30 PHP
php用户名的密码加密更安全的方法
Jun 21 PHP
php桌面中心(四) 数据显示
Mar 11 #PHP
php桌面中心(三) 修改数据库
Mar 11 #PHP
php桌面中心(二) 数据库写入
Mar 11 #PHP
php桌面中心(一) 创建数据库
Mar 11 #PHP
一个简单的php实现的MySQL数据浏览器
Mar 11 #PHP
php实现的MySQL通用查询程序
Mar 11 #PHP
一个自定义位数的php多用户计数器代码
Mar 11 #PHP
You might like
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
Cannot modify header information错误解决方法
2008/10/08 PHP
php合并js请求的例子
2013/11/01 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
CI框架中$this->load->library()用法分析
2016/05/18 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
React中的render何时执行过程
2018/04/13 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
python 错误处理 assert详解
2020/04/20 Python
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
教师专业理论水平的自我评价分享
2013/11/09 职场文书
《厄运打不垮的信念》教学反思
2014/04/13 职场文书
党员创先争优心得体会
2014/09/11 职场文书
学校中秋节活动总结
2015/03/23 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis