(转)ThinkPHP自定义标签

第一:在当前应用下的Conf文件夹中config.php加两个配制项:

            'TAGLIB_LOAD' => true,//加载标签库打开
            'APP_AUTOLOAD_PATH' => '@.TagLib',//标签库的文件名
            'TAGLIB_BUILD_IN' => 'Cx,Pic',//标签库类名
第二:在当前的应用创建一个名为TagLib(注意,和上面配制项的第二项名字一样)的文件夹,
然后在文件建一php文件,文件名为TagLibPic.class.php(注意看配制项是的颜色,命名一样就可以以,要不然文件找不到哦);
      例:定义一个<pic name='n' num='n' >
                  </pic>
           <?php
              import('TagLib');//加载标签库
              class TagLibPic extends TagLib{
                    protected $tags=array(
                          'pic'=>array('attr'=>'name,num','close'=>1),//attr指要传值的名字
                                                                        close指标签类  1:不闭合
                                                                                       0:闭合
                    );
                    public function _pic($attr,$content){
                           $tag=$this->parseXmlAttr($attr,'pic');//内部函数
                           $name=$tag['name'];//取得标签传过来的值
                           $num=$tag['num'];
                           $str.=<<<str
//这里面就写你要实现的代码了
str;
                    return $str;
                    }
              }
          ;?>
前台页面写法:
  <pic name="" num="" > //注意在这行的括号前打一个空格,否则不解析
     内容
  </pic>
posted @ 2015-06-08 17:23  wanshutao  阅读(217)  评论(0编辑  收藏  举报