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 相关文章推荐
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
PHP数据集构建JSON格式及新数组的方法
Nov 07 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
10 个经典PHP函数
Oct 17 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
PHP安全上传图片的方法
Mar 21 PHP
php实现统计网站在线人数的方法
May 12 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
php关联数组与索引数组及其显示方法
Mar 12 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 PHP
PHP实现简单登录界面
Oct 23 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
PHP URL参数获取方式的四种例子
2014/02/28 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
学习ExtJS table布局
2009/10/08 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
基于jQuery实现在线选座之高铁版
2015/08/24 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
python多线程http下载实现示例
2013/12/30 Python
Python3实现生成随机密码的方法
2014/08/23 Python
Linux下Python获取IP地址的代码
2014/11/30 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
django 模版关闭转义方式
2020/05/14 Python
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
培训演讲稿范文
2014/01/12 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
结婚纪念日感言
2015/08/01 职场文书
python基础之错误和异常处理
2021/10/24 Python
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL