thinkPHP5 tablib标签库自定义方法详解


Posted in PHP onMay 10, 2017

本文实例讲述了thinkPHP5 tablib标签库自定义方法。分享给大家供大家参考,具体如下:

官方文档的标签库使用教程没有写得太细,自己摸索出来了一些。

先放一段写好的面包碎代码

namespace app\Common\taglib;
use \think\template\TagLib;
class UntilTag extends TagLib
{
  protected $tags = array(
    'breadcrumb' => array('attr' => 'name','close' =>0),
  );
  /**
   * 用法
   * {UntilTag:breadcrumb name='个人中心/修改密码' /}
   * @param $tag
   * @param $content
   * @return string
   * @autor: 潘国兴
   */
  public function tagBreadcrumb($tag, $content)
  {
    $tags = '';
    if(isset($tag['name']) && !empty($tag['name']))
    {
      $tags = explode('/',$tag['name']);
    }
    $parseStr = '<nav class="breadcrumb"><i class="Hui-iconfont">?</i> <a class="maincolor" href="{:url(" rel="external nofollow" index")}">首页</a>' ;
    if(!empty($tags))
    {
      foreach($tags as $vo)
      {
        $parseStr .= "<span class='c-666 en'>></span><span class='c-666'>{$vo}</span>";
      }
    }
    $parseStr .= '</nav>';
    return $parseStr;
  }
}

然后设置配置文件

'template'=>[
  'taglib_pre_load'  => 'app\Common\taglib\UntilTag',
],

这个是加载额外的标签库,使用的时候要注意用法,第一,从源代码看,这个一定要用命名空间方式加载,不然会自动加载到thinkphp\template\tablib这个命名空间下面的,第二是在模板上的时候,一定要类名称加tag名

{UntilTag:breadcrumb name='个人中心/修改密码' /}

下面这个配置文件设置用法是另外一种,

'taglib_build_in'  =>  'cx,article'

这种设置是直接简化了标签的使用,在模板的用法如下:

{breadcrumb name='个人中心/修改密码' /}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP多线程抓取网页实现代码
Jul 22 PHP
php中随机显示图片的函数代码
Jun 23 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
php调用shell的方法
Nov 05 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
php 把数字转换成汉字的代码
Jul 21 PHP
php+ajax实现无刷新分页
Nov 18 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
php处理复杂xml数据示例
Jul 11 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 #PHP
php7 安装yar 生成docker镜像
May 09 #PHP
php简单生成一组与多组随机字符串的方法
May 09 #PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 #PHP
Laravel中如何增加自定义全局函数详解
May 09 #PHP
laravel 5.3中自定义加密服务的方案详解
May 09 #PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 #PHP
You might like
大师制作的中短波矿石收音机
2020/04/02 无线电
php GeoIP的使用教程
2011/03/09 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
JS实现简单打字测试
2020/06/24 Javascript
python实现的防DDoS脚本
2011/02/08 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
python连接mysql实例分享
2016/10/09 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
通过实例解析Python调用json模块
2019/12/11 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
Ray-Ban雷朋太阳眼镜英国官网:Ray-Ban UK
2019/11/23 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
大学生蛋糕店创业计划书
2014/01/13 职场文书
优秀医生事迹材料
2014/02/12 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
员工安全责任书范本
2014/07/24 职场文书
走群众路线学习笔记
2014/11/06 职场文书