博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP自定义标签
阅读量:6151 次
发布时间:2019-06-21

本文共 1598 字,大约阅读时间需要 5 分钟。

   研究ThinkPHP自定义标签的时候,发现网上很多教程都很乱,官网又没有给出比较详细的方法,所以就自己研究了一下,现在将ThinkPHP的方法详细的记录下来。

   1.建立TP的项目,略过

   2.在config.php中加入'APP_AUTOLOAD_PATH'=>'@.TagLib',自动加载TagLib里面的文件

   3.在项目名称/Lib中建立TagLib文件夹

   4.在TagLib文件夹中新建一个TagLibXl.class.php文件(格式:TagLib自定义的名称,首字母大写)

   5.

array(            'attr'=>'table,limit',   //设置标签属性            'level'=>'3',            //循环次数            'close'=>'1',            //是否闭合                                                              ),    );                                                  function _list($attr,$content){        $tag=$this->parseXmlAttr($attr, 'list');         //解析操作,TP的自定义标签是基于xml的        $db=M($tag['table']);               //根据返回的table值实例化        $list=$db->limit($tag['limit'])->select();            //查询返回数据        preg_match_all("/\[field\:\w*\]/",$content,$match);     //获取返回值里[field:xxx]这种格式        $match=$match[0];             $match=array_unique($match);//去掉数组重复项        foreach($match as $i=>$vo){            $field[$i]=substr($vo,7,count($vo)-2);        }        //以下循环为遍历将[field:xxx]格式替换为实际内容        foreach($list as $i=>$value){            if($i==0){                $parseStr=$content;            }else{                $parseStr=$parseStr.$content;            }            foreach($match as $j=>$vo){                $parseStr=str_replace($vo,$value[$field[$j]],$parseStr);            }        }        //解析内容模板,并返回字符串        if(!empty($parseStr)) {            return $this->tpl->parse($parseStr);        }        return ;    }}

在模板中使用方法:

        
  • [field:id]
    [field:title]

footer.jpg   群号:252799167,大家可以加群一起交流学习

转载地址:http://isgya.baihongyu.com/

你可能感兴趣的文章
scanf
查看>>
Socket编程注意接收缓冲区大小
查看>>
SpringMVC初写(五)拦截器
查看>>
检测oracle数据库坏块的方法
查看>>
SQL server 安装教程
查看>>
Linux下ftp和ssh详解
查看>>
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>
7.对象创建型模式-总结
查看>>
1、块:ion-item
查看>>
【论文阅读】Classification of breast cancer histology images using transfer learning
查看>>
移动端处理图片懒加载
查看>>
jQuery.on() 函数详解
查看>>
谈缓存和Redis
查看>>