自定义标签

来源:互联网 发布:java获取下个月第一天 编辑:程序博客网 时间:2024/05/16 06:47

在Index根目录下建一个文件夹TagLib,再建一个TagLibHd.class.php文件

<?php

   import('TagLib');

   Class TagLibHd extends TagLib{//TagLib+标签库名称(首字母大写)

            Protected $tags = array(

                    //定义标签

                     'nav'=> array('attr' => 'order', 'close' => 1)//'attr表示标签的属性,close表示是否是闭合

                        //标签,1表示闭合,0表示不闭合?(和开发手册上讲得不一样。)

            );

               

            Public function _nav($attr, $content){

                     $attr= $this->parseXmlAttr($attr);//定界符里面需转义

                     $str= <<<str

<?php

                                        \$_nav_cate= M('cate')->order("{$attr['order']}")->select();

                                        import('Class.Category',APP_PATH);

                                        \$_nav_cate= Category::catesortforlayer(\$_nav_cate);

                                        foreach(\$_nav_cateas \$_nav_cate_v):

                                                 extract(\$_nav_cate_v);

                                        \$url= U('/c_' . \$id);

?>

str;

                     $str.= $content;

                     $str.= '<?php endforeach;?>';

                     return $str;

            }

   }

?>然后在Index/Conf/中建一个config.php文件

<?php

return array(

    'APP_AUTOLOAD_PATH'=>'@.TagLib',//自动载入TagLib文件夹里面的文件

    'TAGLIB_BUTLID_IN'=>'Cx.Hd'//Cx表示thinkphp核心标签

);

 

0 0