在 Think/Library/Think/Template/TagLib 下。有
Cx.class.php(内置标签核心类) 、Html.class.php(html 扩展标签)。
一.内置标签
index.html
<taglib name="html" /> //导入扩展标签 HTML开始位置
<body>
<html:imageBtn value="按钮" />//在使用的时候,前面需要加上html:,表示这个是html标签库
</body>
配置文件下
//将Cx和Html都设置为内置标签
'TAGLIB_BUILD_IN' =>'cx,html'
//设置成内置标签,则不需要 html:了 也不需要导入了
imageBtn value="按钮" />
可能会出现标签的重复导致冲突。可以通过
//标签预加载 'TAGLIB_PRE_LOAD'=>'html',
比如下拉菜单
<select options="name" selected="value" />
二、扩展标签库
首先在 Think/Library/Think/Template/TagLib 下创建一个
Test.class.php :
namespace Think\Template\TagLib;
use Think\Template\TagLib;
defined('THINK_PATH') or exit();
class Test extends TagLib{
// 标签定义
protected $tags = array(
'mytest'=>array('attr'=>'color,border','close'=>1)
);
public function _mytest($tag,$content) {
$color = '';
$border = '';
if (isset($tag['color'])) {
$color = 'color:'.$tag['color'];
} if (isset($tag['border'])) {
$border = 'border:'.$tag['border'].'px solid #ccc';
} $css = $color.';
'.$border; return '<div style="'.$css.'">'.$content.'</div>';
}
}最后//导入 test 扩展标签
<taglib name="test" />
//使用也是一样的
<Test:mytest color="blue" border="3">测试标签</Test:mytest>