




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
最近几天一直在研究dz的产品,前几天在遇到几个问题发篇ucenter开发笔记,当时提到了几个问题,一直没有人能帮我解决,现在只能自己搞定了。言归正传,今天解决的问题是discuz的模板引擎问题。 相信很多朋友都会遇到一个问题,很多的模板引擎都用来作标示符,有时候会的css冲突.所以有很多人想找一个好用的模板引擎,smarty是个不错的选择,手册也很全,但是,它太大了,只适合作一些大型项目.对于作中小型项目的我们来说,要学习它也要花些时间.而且它还是个重量型的.discuz作为php界的一个经典产品,无疑有他的重多可取之处,它的模板引擎就是基中之一,简单,轻便,符合中国人的习惯上手快,速度嘛看看discuz就知道了,决对能满足我们的要求. 现在我们来说一下discuz的模板引擎,其实大多数的原理都是一样的,把模板内容的动态内容编译成php文件存在特定的文件夹里. 这是网上的牛人从discuz论坛里提出来的,还作了封装,我试过了,挺好用的就是在测试discuz中这个语法的时候出现了错误,不过本人已经修正了,现在还在继续研究.如果那位朋友在使用中遇到了问题可以来这里给我报一下bug,呵呵。(咦,没有上传文件呢,) discuz的语法其实和smarty的语法差不多,但更好用,写起来更简单,就像java和php的关系差不多吧(个人理解,呵呵).从哪开始呢,就从安装开始讲吧.想要下载的朋友可以到我论坛去下载,本来想发在这的,可是不能上传文件,没办法了,修正版的下载地址是/viewthread.php?tid=4727一、安装要注意的是这个封装了的模板引擎在实例化的时候对象名必须是$template require_once (classes/template.class.php);$options = array( template_dir = templates/, /指定模板文件存放目录 cache_dir = templates/cache, /指定缓存文件存放目录 auto_update = true, /当模板文件有改动时重新生成缓存 关闭该项会快一些 cache_lifetime = 1, /缓存生命周期(分钟),为 0 表示永久 设置为 0 会快一些);$template = template:getinstance(); /使用单件模式实例化模板类$template-setoptions($options); /设置模板参数 这样就把discuz模板引擎安装好了.接下来是让它工作 $testarr = array(testa = a, testb = b);include($template-getfile(test.htm);/这里的test.htm放到指定的template_dir的文件夹下 在test.htm里写以下代码 $key = $val 访问的时候就可以看到输出结果了.二、变量安装完了,现在再说使用吧,我们先简单介绍一下变量,在discuz模板里我们可以直接用php页面里的变量,如php页面里有这样一段$test=测试;那么在模板页面里我们就可以直接写这样就可以看到输出结果为测试.下面我们看一下完整测试代码php页面require_once (classes/template.class.php); $options = array( template_dir = templates/, /指定模板文件存放目录 cache_dir = templates/cache, /指定缓存文件存放目录 auto_update = true, /当模板文件有改动时重新生成缓存 关闭该项会快一些 cache_lifetime = 1, /缓存生命周期(分钟),为 0 表示永久 设置为 0 会快一些);$template = template:getinstance(); /使用单件模式实例化模板类$template-setoptions($options); /设置模板参数$test=测试;include($template-getfile(test.htm);在模板页面test.htm里这样写你就会看到输出结果 测试 这两个字了.三、注释注释是每个程序都必不可少的,要是没了注释,你写上千行代码,维护起来那将是恶梦。discuz模板引擎的注释很简单只要用就行了和html一样,是不是很方便啊.四、控制语句它的控制语句也非常简单1 判断 5- $a 或 5- $a $a 小于5可惜没有switch,不过这个够用了,有空咱自己加上,呵呵2 循环 $moduleurl 或复杂点的也行 $moduleurl 五、模板调用这个更简单这样就ok了最后说一下,其实以上这些最后都会转换为php语句,如果想知道转换成了什么样的话,可以看一下你的cache文件夹下生成的文件就明白了.这些都是常用的功能,还有一些是discuz特有的我们可能用不让,不过还是提一下一、固定参数$seohead - 后台设置的头部信息$charset - config.inc.php中设置语言字符集,必不可少,不能删除!$extrahead - 控制论坛自动跳转参数,必不可少,不能删除!eval updatesession(); - 更新论坛 session 表的参数,必不可少,不能删除!eval output(); - 结束论坛输出,必不可少,不能删除!以上的参数以discuz! 4.0为准,这些参数会因应不同版本而有所不同!还有一些 $xxx 的也是一些参数如非插件作者或程序开发请勿乱修改!二、语言调用在模板中,经常会看到lang xxx这样的语句。它就是调用语言包中的词语用的。而在模板中会调用的大部分都是templates.lang.php 的。 标题, 调用字符 显示文字 never = 从未, 调用字符 显示文字 .); - 宣告语言包定义结束? - 宣布php语言结束假设,我们增加一个语言调用,在 title = 标题,上一行添加 abc = 这是测试语言调用,最后的 , 是比不可少的,还有调用字符和显示文字,都必须使用 引起。增加以后,到模板中,就能调用它,模板中写lang abc那么显示出来就直接显示: 这是测试语言调用五、风格参数调用在模板中常见到xxxxx的语句。中的必须是大写。这些都是调用风格配色方案中的参数。您可以可以自己添加,方法如下:1, 进入 界面风格 - 界面风格 - 您要添加参数的风格 点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字的作用教学课件
- 志愿者实践的活动总结
- 河北省保定市六校2024-2025学年高一上学期11月期中联考地理试卷(含答案)
- 汉字巾课件教学课件
- 2024-2025学年辽宁省抚顺市清原县英额门中学九年级(下)月考数学试卷(3月份)(含答案)
- 0-3岁婴幼儿感觉统合训练知到智慧树答案
- 《高等数学上》知到智慧树答案
- 线上购物对传统零售业的冲击分析
- 2025标准的智能硬件购销合同
- 2025年关于电子产品销售的合同模板
- 劳务派遣工作知识培训课件
- 无人机反制设备原理课件
- 2025年道路运输两类人员安全员考核分享题库及答案
- 中国肺血栓栓塞症诊治、预防和管理指南(2025版)
- 2025年村干部考试试题(含答案)
- 工会招聘考试题及答案
- 1.1认识社会生活 教案 2025-2026学年统编版道德与法治八年级上册
- 山东省技工学校模拟面试全新系列题目
- 小学体育教学活动设计与课程案例
- 2025至2030年中国互联网数据中心应用行业市场深度评估及投资战略规划报告
- 2025年中学教师事业单位教师招聘化学学科专业知识考试试题
评论
0/150
提交评论