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 相关文章推荐
MySQL中create table语句的基本语法是
Jan 15 PHP
php 什么是PEAR?(第三篇)
Mar 19 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
基于php伪静态的实现详细介绍
Apr 28 PHP
深入php self与$this的详解
Jun 08 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
Oct 08 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
PHP简单实现二维数组的矩阵转置操作示例
Nov 24 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
Feb 16 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设计模式中的工厂模式
2008/06/12 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
重定向实现代码
2006/11/20 Javascript
Javascript实现的分页函数
2007/02/07 Javascript
用 javascript 实现的点击复制代码
2007/03/24 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
如何运行Python程序的方法
2013/04/21 Python
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
numpy基础教程之np.linalg
2019/02/12 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python3.7调试的实例方法
2020/07/21 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
冰淇淋店的创业计划书
2014/02/07 职场文书
区优秀教师事迹材料
2014/02/10 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
党支部季度考核意见
2015/06/02 职场文书
开业庆典致辞
2015/08/01 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle