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 相关文章推荐
ThinkPHP的I方法使用详解
Jun 18 PHP
php+Mysqli利用事务处理转账问题实例
Feb 11 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
百度地图API使用方法详解
Aug 25 PHP
php实现简单的MVC框架实例
Sep 23 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
Zend Framework教程之Application和Bootstrap用法详解
Mar 10 PHP
Yii rules常用规则示例
Mar 15 PHP
orm获取关联表里的属性值
Apr 17 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
PHP 的Opcache加速的使用方法
Dec 29 PHP
PHP 自动加载类原理与用法实例分析
Apr 14 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的header和asp中的redirect比较
2006/10/09 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
python实现一组典型数据格式转换
2018/12/15 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
检察官就职演讲稿
2014/01/13 职场文书
讲党性心得体会
2014/09/03 职场文书
高一化学教学反思
2016/02/22 职场文书