织梦模板标记简介


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 相关文章推荐
用定制的PHP应用程序来获取Web服务器的状态信息
Oct 09 PHP
一个程序下载的管理程序(一)
Oct 09 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 PHP
解决出现SoapFault (looks like we got no XML document)的问题
Jun 24 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
PHP根据key删除数组中指定的元素
Feb 28 PHP
Yii2框架自定义类统一处理url操作示例
May 25 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 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
php UTF8 文件的签名问题
2009/10/30 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
python实现数独算法实例
2015/06/09 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
python使用mysql的两种使用方式
2018/03/07 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
pygame用blit()实现动画效果的示例代码
2020/05/28 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
优瑞自动咖啡机官网:Jura
2018/09/29 全球购物
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
工作会议方案
2014/05/21 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
学校运动会通讯稿
2015/07/18 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
2021/06/07 Python
如何使用SQL Server语句创建表
2022/04/12 SQL Server