您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.1学习笔记-标签库
发布时间:2017-09-19 11:33:47编辑:雪饮阅读()
使用扩展标签:
<taglib name="html"/>
该语句要在模板最顶部,由于我要使用的html的扩展标签,所以要引入这个
添加图片按钮标签:
<html:imageBtn value="按钮" />
该语句基于<taglib name="html"/>语句,<html:imageBtn value="按钮" />可以在html的布局代码中。
添加编辑器:
<html:editor id="editor" name="remark" type="FCKeditor" style=""><{$vo.remark}></html:editor>
将html扩展标签添加到内置标签:
公共配置文件中:
'TAGLIB_BUILD_IN'=>'cx,html',
然后模板中使用刚才的html标签则不需要<taglib name="html"/>并且调用精简如:
<editor id="editor" name="remark" type="FCKeditor" style=""><{$vo.remark}></editor>
<html:select options="name" selected="value" />
实际上我们不应该把扩展标签添加到内置标签中,因为有可能导致和html标签冲突,如上的select标签就会和html中的select标签冲突的。
'TAGLIB_PRE_LOAD'=>'html',
配置文件中添加该项配置可实现标签预加载,这样就不用在使用扩展标签的时候每次都导入如<taglib name="html"/>的麻烦事了。
自定义扩展标签库:
在/ThinkPHP/Library/Think/Template/TagLib/下
复制系统的Html.class.php扩展标签库为Test.class.php
并修改内容如下:
<?php
namespace Think\Template\TagLib;
use Think\Template\TagLib;
defined('THINK_PATH') or exit();
/**
* Test标签库驱动
*/
class Test extends TagLib{
// 标签定义
protected $tags = array(
// 标签定义: attr 属性列表 close 是否闭合(0 或者1 默认1)
'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>';
}
}
使用自定义扩展标签库:
导入自定义扩展标签库:
<taglib name="test" />
使用自定义扩展标签:
<test:mytest color="blue" border="10">测试标签</test:mytest>
关键字词:thinkphp3.2.1,标签