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 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
用Flash图形化数据(一)
Oct 09 PHP
屏蔽浏览器缓存另类方法
Oct 09 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
PHP开发中的错误收集,不定期更新。
Feb 03 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
PHP aes (ecb)解密后乱码问题
Jun 22 PHP
apache和PHP如何整合在一起
Oct 12 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
Jan 07 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
Mar 24 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
Sep 07 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
一个程序下载的管理程序(二)
2006/10/09 PHP
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
php学习笔记之基础知识
2014/11/08 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
jquery仿百度经验滑动切换浏览效果
2015/04/14 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
详解使用nvm安装node.js
2017/07/18 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
python http接口自动化脚本详解
2018/01/02 Python
Python3常见函数range()用法详解
2019/12/30 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
2021/01/21 Python
护理学专业推荐信
2013/12/03 职场文书
片区教研活动总结
2014/07/02 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python