#1、创建自定义标签库文件Test.php
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <[email protected]>
// +----------------------------------------------------------------------
namespace think\template\taglib;
use think\template\TagLib;
/**
* CX标签库解析类
* @category Think
* @package Think
* @subpackage Driver.Taglib
* @author liu21st <[email protected]>
*/
class Test extends Taglib
{
//////////
// 标签定义 //
// attr:标签属性
// alias:标签别名
// close:是否为闭合标签(1),非闭合(0)
//////////
protected $tags = [
'mytest'=>['attr' => 'color,border','alias'=>'yourtest','close'=>1]
];
/**
* mytest标签解析
* 格式:
* {mytest}echo $name{/mytest}
* @access public
* @param array $tag 标签属性
* @param string $content 标签内容
* @return string
*/
public function tagmytest($tag,$content)
{
$color="color:{$tag['color']};";
$border="border:{$tag['border']}px solid #000;";
$css=$color.$border;
return "<div style='{$css}'>".$content."</div>";
}
}
#视图中调用
<!-- 加载扩展标签类 --> {taglib name="test" /} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <!-- * 调用扩展标签 * 定义标签时有属性,则调用的时候必须设置属性值 --> {test:mytest color='red' border='10'}川科院{/test:mytest} </body> </html>
#预加载标签
在app\config.php中设置
'template' => [ //默认加载标签 'taglib_build_in'=>'test' //预加载标签,如果设置了默认,则不需要再设置预加载 'taglib_pre_load'=>'test', ],
标签:mytest,标签,+--------------------------------------------------------------------- From: https://www.cnblogs.com/haokan/p/17100815.html