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加密解密的代码
Oct 09 PHP
php的一个登录的类 [推荐]
Mar 16 PHP
《PHP编程最快明白》第八讲:php启发和小结
Nov 01 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
Apr 23 PHP
php中设置index.php文件为只读的方法
Feb 06 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
PHP中应该避免使用同名变量(拆分临时变量)
Apr 03 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
php判断当前操作系统类型
Oct 28 PHP
PHP实现的简单排列组合算法应用示例
Jun 20 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 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与浏览器缓存的分析
2013/06/03 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
jQuery与ExtJS之选择实例分析
2010/08/19 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
九种原生js动画效果
2015/11/11 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
js实现弹窗效果
2020/08/09 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
python文件操作整理汇总
2014/10/21 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
基于Python log 的正确打开方式
2018/04/28 Python
用python做游戏的细节详解
2019/06/25 Python
越南综合购物网站:Lazada越南
2019/06/10 全球购物
会计岗位职责范本
2014/03/07 职场文书
销售提升方案
2014/06/07 职场文书
励志演讲稿800字
2014/08/21 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
优秀班主任申报材料
2014/12/16 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
毕业设计致谢词
2015/05/14 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
Python 中 Shutil 模块详情
2021/11/11 Python