🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
自定义标签,说简单点也只是一个代码块而已。制作这样的自定义标签,可以使用此标签来显示自己的一个代码块。 1、创建标签类。这个标签类一般创建在system/tag 目录之下。 2、修改config/view.php文件,将自定义标称注册到系统之中。 []'tags'=>['system\tag\类名'];这是一个数组,可以注册多个自定义标签。 <?php namespace system\tag; use hdphp\view\TagBase; class AutoTab extends TagBase{ /** * 声明标签:用户自定义的标签名 * 是一个二维数组 * 一维数组是用户声明的标签名 * 二维是声明的标签的基本属性 * 标签基本属性 * block:0 为行标签;1 为块标签 * level:块标签属性,只有block=1时才设置,是最多的嵌套层数 */ public $tags = [ //'test' => ['block' => 1, 'level' => 4] 'autoTab' => ['block' => 0] ]; /** * _autoTab:方法名与标签名前加下划线 * @param $attr 标签属性集合;标签内书写的标签属性,如row/name/id/class * 上述这些属性会以集合方式返回到此参数之中。因此,可以设置收集哪些参数。 * @param $content 标签嵌套内容,块标签才有值;块标签体内包含的所有内容 * @param $view 视图服务对象 * * 同名方法内的返回内容就是此标签的显示内容。所以,此方法最终要返回一段php代码。 * 并且,此方法返回的php代码会被编译器编译成临时文件存在。 */ //public function _test($attr, $content, &$view){ //return 'this is _autoTab mothed'; //} /** * 1、参数和块标签是一样的,只是第2参数没有值; * 2、首先要接收第1参数,即标签内属性传来的值 * 3、基本设想:传入一个标准二维数组,以表格形式自动创建表格 * 4、二维数组由属性from来获取 */ public function _autoTab($attr, $content, &$view){ //当传入数据,并且数据条数大于0 if(isset($attr['from']) && count($attr['from'])>0){ $dArray=$attr['from']; }else{ return '没有数据!'; } return '此处要返回一个字符串,其中是php代码块'; } }