



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ThinkPHP自定义模板标签详解网志博客()模板标签让网站前台开发更加快速和简单,这让本该由程序猿才能完成的工作,现在只要稍懂得HTM的人也能轻易做到,这也就是模板标签的强大之处。接触过dedecms或者phpcms等内容管理系统的人都知道,cms的前台都是使用模板标签来调用数据,如列表,内容。来看一个phpcms v9调用数据排行列表的标签:1pc:content action=hits catid=6 num=10 order=views DESC2 loop $data $r3 $rtitle4 /loop5/pc说明:pc大括号的的参数形式是:pc:content 参数名=”参数值” 参数名=”参数值” 参数名=”参数值”action:本参数的值表示为操作事件,模型类PC标签必须使用包含本参数,以说明要进行的操作。catid:获取频道栏目的ID,和该栏目的数据num:获取记录的条数,最后会被模板引擎处理成limit传送到处理函数中。order:表示数据列表的排序方式上面那段phpcms模板模签的功能就是获取ID等于6的栏目的10条数据,然后按照点击量排序。不过上面的因为PHPCMS V9已经是一个成熟的CMS,它的模板标签是已经定义好的了,如pc,num等标签,我们只能通过阅读PHPCMS V9的使用文档来学习如何调用,而不可以更改它的名称,而ThinkPHP只是一个框架,每个开发者都可以通过自定义模板标签来简化数据的调用方式。下面来自定义一个ThinkPHP模板标签,使它具体这样的功能:1、 获取记录的条数,类似上面phpcms v9的num2、对数据进行排序准备工作:先找一个没有自定义模板标签的ThinkPHP的CMS或者博客程序安装,为了便于说明,我就使用wblog3.1.3_2.注意,这是ThinkPHP3.1.3版本。建立自定义标签库打开W3noteLib,没有TagLib文件夹的,自己建立一个,然后在TagLib目录建立标签库文件,我就命名为TagLibLists.class.php。自定义标签库的命名格式:TagLib+Lists+.class.php,其中Lists是自定义的,第一个字母大写。打开TagLibLists.class.php文件,写入如下代码:01 array(attr = limit,order,close =1)/ attr 属性列表close 是否闭合(0 或者1 默认为1,表示闭合)06 );07 public function _list ($attr,$content)08 09 $attr = $this-parseXmlAttr($attr);10 $limit=$attrlimit;/参数$limit,可通过模板传入参数值11 $order=$attrorder;/$order$limit,可通过模板传入参数值12 $str=field($field)-limit(.$limit.)-order(.$order.)-select();/查询语句15 $str .= foreach ($_list_news as $_list_value):;16 $str .= extract($_list_value);17 $str .= $url=U(read/.$id);?;/自定义文章生成路径$url18 $str .= $content;19 $str .=;20 return $str;21 22 注意:上面代码的第12行的?php的后面一定要加一个空格!我因为没加空格,调试中出现错误,弄得我好晕,后来还是根据错误提示,查看缓存文件才发现,原来是 true,/加载标签库打开2APP_AUTOLOAD_PATH =.TagLib,3TAGLIB_BUILD_IN =Cx,Lists,说明:Cx为核心标签库名称,Lists为自定义标签库名称,不能弄错。在模板上调用自定义标签到这里我们已经建立起了自己的标签库,接下来就可以在模板上随心所欲地调用了。1、调用最新文章12 $title3 说明:list 是上面自定义标签库数组$tags键名,因为设置为闭合形式,所以和是成双成对出现的。limit和order是前面标签库中定义的两个参数,通过它们可以在模板接受参数值,如上面给imit传递参数值9。$title和$hits是标签库中根据需求选择的数据表字段2、调用热点文章12 $title$hits3 3、调用随机文章12 $title3说明:真没想到,在自定义模板标签里面还能解释php函数rand(),万万没想到,呵呵,这真是一个惊喜啊!在调试中还发现,可以模板自定义签标中截取字符串:12 $title|msubstr=0,12,utf-83通过前后对比,似乎ThinkPHP的自定义模板标签的调用比phpcms v9的标签更加方便简单,但功能还没有phpcms
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备系统变更管理制度
- 设施农业台账管理制度
- 设计研发团队管理制度
- 诊室发热患者管理制度
- 诊所感染监测管理制度
- 诊疗服务收费管理制度
- 财务经费开支管理制度
- 财政评审稽核管理制度
- 货品安全存放管理制度
- 货物储存仓库管理制度
- (正式版)JBT 9229-2024 剪叉式升降工作平台
- 合伙人退出协议书
- (高清版)DZT 0208-2020 矿产地质勘查规范 金属砂矿类
- 大件吊装运输企业信息化建设愿景
- 2024年春江苏开放大学先进制造技术第一次过程性考核作业答案
- 2019版新人教版高中英语必修+选择性必修共7册词汇表汇总(带音标)
- FANUC数控系统连接与调试实训 课件全套 第1-8章 FANUC 0iD硬件结构与连接-主轴控制
- 公务员午休管理制度
- 历史课堂中的信息化教学设计方案
- 烟机设备修理工滤棒成型
- 大肠癌的诊治及预防措施
评论
0/150
提交评论