织梦模板标记简介


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中与数组相关的函数
Mar 22 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
Sep 25 PHP
PHP面向对象详解(三)
Dec 07 PHP
前端必学之PHP语法基础
Jan 01 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
php中的单引号、双引号和转义字符详解
Feb 16 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
Laravel find in set排序实例
Oct 09 PHP
如何在centos8自定义目录安装php7.3
Nov 28 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生成WAP页面
2006/10/09 PHP
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
PHP中使用curl入门教程
2015/07/02 PHP
js代码实现微博导航栏
2015/07/30 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
Python-基础-入门 简介
2014/08/09 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
Python中的延迟绑定原理详解
2019/10/11 Python
Python3的socket使用方法详解
2020/02/18 Python
编写strcpy函数
2014/06/24 面试题
工程专业应届生求职信
2014/02/19 职场文书
中药学专业求职信
2014/05/31 职场文书
幼儿园综治宣传月活动总结
2015/05/07 职场文书