tp6自定义模版标签

个人成长 | 独立开发者 | 创业历程 | 赚钱思维
大家好,我是一名独立开发者。在这里跟大家分享独立开发日常,编程技巧。欢迎大家跟我交流软件开发的一切事情,更欢迎大家下载使用我们的APP。

在ThinkPHP6的应用中,如果想要自定义一套自己的标签。首先要在应用安装好模板引擎。

composer require topthink/think-view

安装完成后再文件目录中可以看到这个目录

这里有个签库类文件(Cx.php)这个文件是系统已经定义的模板标签。我们可以根据这个文件格式来创建我们想自定义的模板标签,并用相同的格式写出我们需要的属性。

在我们的应用中创建tablib文件夹,在这个文件中创建一个xmcms.php文件,这个是文件是可以随意命名的。这个Xmcms的类要继承 TagLib类。

namespace app\index\taglib;

use think\facade\Db;
use think\template\TagLib;

class Xmcms extends TagLib
{
    // 标签定义: attr 属性列表 close 是否闭合(1-闭合、0-开放) alias 标签别名 level 嵌套层次
    
    // 定义标签列表
    protected $tags = [

        'channel'=>['attr'=>'type,order,pid','close'=>1],
        'swiper'=>['attr'=>'type,order' , 'close'=>1 ],
        'artical'=>['attr'=>'type,order' , 'close'=>1 ],
		
    ];


    //type 传入的值 top son 或者ID
    //如果type = son 需要传入一个PID获取当前子类

    public function tagChannel($tag,$content){
        $tag["id"] = !empty($tag["id"]) ? $tag["id"] : "item";
        $type = !empty($tag["type"]) ? $tag["type"] : "top";
    }
    
}

这里自定义了3个自定义标签channel , swiper , artical。

在页面调用

{xmcms:channel type="top"}<div>测试</div>{/xmcms:channel}

就可以使用了,在tagChannel函数中$tag对应的是自定义的属性通过 tag["type"] 可以获取到自定义值,$content对应的是自定义标签包裹的部分。

------------------ 华丽分割线 ------------------
创业举步维艰,感谢各位支持
欢迎大家阅读我的创业笔记,如果你觉得这篇写得不错的话,可以关注我的公众号: 成长创业笔记 第一时间查阅我们的文章!感谢大家的支持。
欢迎大家下载使用我们的安卓APP:
  • ● 松鼠驾考:驾考刷题APP,新版的驾考题目内容持续更新。
  • ● 松鼠天气:简洁的天气预报,日历工具
  • ● 加我微信:zstxinghui
成长创业笔记
程序员小张
我们的主营业务:承接网站建设小程序开发安卓APP开发软著申请等。欢迎咨询!
扫一扫,加我微信
随机文章
人人都是自媒体的时代
2024-06-12 15:16:17
官网的运营推广
2024-06-25 22:06:30
uniapp使用vue3实现tab切换效果
2024-07-27 14:36:05
tp6安装使用easywechat微信接口
2024-12-02 10:02:51
成长创业周记16:很难但还在想办法坚持下去,人生就像过了河的小卒
2024-12-19 16:47:27