Thinkphp5 -- 自定义标签 -- 附件控制按钮

一、创建控制器
My.php

 -  array('attr' => 'rule','close' => 1),
        );
        
        /**
         * auth标签解析
         * 格式:
         * 用法:{auth rule="add" }显示按钮 {else /} 不显示按钮{/auth}
         * @access public
         * @param array $tag 标签属性
         * @param string $content 标签内容
         * @return string|void
         */
        //控制器 : 注意tagAuth  “Auth”的A必须要大写   方法前缀是 tag
        public function tagAuth($tag,$content) {
            $rule  =  $tag['rule'];
            $auth  =new \think\auth\Auth();     //调用thinkphp拓展 Auth
            $uid =   session::get('user_id');       //   这是本人对Auth做的按键控制,大家可以不在意这行代码
            $res = $auth->check($rule,$uid) ? 'true' : 'false';
            $parseStr  = '' . $content .'';  //拼加判断项,此处可根据需求改变
            return $parseStr;  //方法返回在页面输出的格式 
        } }

二、配置config文件
配置文件所在地址:app/config.php

 'template'               => [
        // 模板引擎类型 支持 php think 支持扩展
        'type'         => 'Think',
        // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写
        'auto_rule'    => 1,
        // 模板路径
        'view_path'    => '',
        // 模板后缀
        'view_suffix'  => 'html',
        // 模板文件名分隔符
        'view_depr'    => DS,
        // 模板引擎普通标签开始标记
        'tpl_begin'    => '{',
        // 模板引擎普通标签结束标记
        'tpl_end'      => '}',
        // 标签库标签开始标记
        'taglib_begin' => '{',
        // 标签库标签结束标记
        'taglib_end'   => '}',
        //如果配置好的标签必须要刷新一下才有效,请使用该配置(清楚标签缓存)
        'cache_time'      => -1,     
        //此处的地址必须是正确的  调用配置地址
        'taglib_build_in'  => 'cx,app\common\taglib\My',   
    ],

三、页面使用

{auth rule="use/add"}
             
          {else / }    //此处的标签是  thinkphp5自带标签,查看全部标签可去:thinkphp\library\think\template\taglib的Cx.php
          
 {/auth}

四、注意事项

1、注意控制器地址命名空间
2、config中 'cache_time'      => -1,配置
3、 'taglib_build_in'  => 'cx,app\common\taglib\My',    //是否与创建地址相同
4、在控制器中引用 use think\template\TagLib;    并且继承

你可能感兴趣的:(thinkphp)