织梦模板标记简介


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 相关文章推荐
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
PHP XML数据解析代码
May 26 PHP
LotusPhp笔记之:Cookie组件的使用详解
May 06 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
Aug 21 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
May 21 PHP
php实现文件预览功能
May 23 PHP
php支付宝系列之电脑网站支付
May 30 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
PHP程序员必须知道的两种日志实例分析
May 14 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的安全
2006/10/09 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
利用谷歌 Translate API制作自己的翻译脚本
2014/06/04 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
PHP中“=>
2019/03/01 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
vue中watch的用法汇总
2020/12/28 Vue.js
python原始套接字编程示例分享
2014/02/21 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
一百行python代码将图片转成字符画
2021/02/19 Python
Python Selenium库的基本使用教程
2021/01/04 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
控制工程专业个人求职信
2013/09/25 职场文书
中文专业毕业生自荐信
2013/10/28 职场文书
社区交通安全实施方案
2014/03/22 职场文书
普通话宣传标语
2014/06/26 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
党员承诺书格式范文
2015/04/28 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
Java数据结构之堆(优先队列)
2022/05/20 Java/Android
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL