织梦模板标记简介


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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
简单的用PHP编写的导航条程序
Oct 09 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
php foreach、while性能比较
Oct 15 PHP
解析在apache里面给php写虚拟目录的详细方法
Jun 24 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
php中JSON的使用与转换
Jan 14 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
Laravel中使用Queue的最基本操作教程
Dec 27 PHP
PHP设计模式之抽象工厂模式实例分析
Mar 25 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
javascript实现文本框标签验证的实例代码
2018/10/14 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
小程序server请求微信服务器超时的解决方法
2019/05/21 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Python中shape计算矩阵的方法示例
2017/04/21 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
python计算列表内各元素的个数实例
2018/06/29 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
2020/02/25 Python
浅析HTML5 Landmark
2020/09/11 HTML / CSS
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
实用的简历自我评价
2014/03/06 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
煤矿安全保证书
2015/02/27 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
python glom模块的使用简介
2021/04/13 Python