本文以实例讲解了ThinkPHP标签的制作方法,对于ThinkPHP的初学者或者开发人员都有一定的借鉴价值。
一般来说,ThinkPHP的默认标签解析器在lib/Template/Taglib/TaglibCx.class(2.1版本位于ThinkPHP/lib/Think/Template/Taglib/TaglibCx.class.PHP)中,里面定义了常用的如voList PHP 等常用ThinkPHP的标签
这里我们就在这个类中添加一个
二、标签作用:
循环输出父类ID是parentID的栏目
三、 *** 作步骤:
'parentID',level=>3) 其中attr:标签的属性 level标签的嵌套层次 <span >2.添加解析函数
标签的解析原理就是通过读取xml文件得到相应的信息,然后再拼凑成所需要的PHP源代码,最后通过echo 在页面上输出。
具体代码如下:
parseXmlAttr($attr,'category');//得到标签里面的属性$parentID= $tag['parentID'];//定义页面解析的变量$result = !empty($tag['result'])?$tag['result']:'cat'; //定义数据查询的结果存放变量$key = !empty($tag['key'])?$tag['key']:'i';$mod = isset($tag['mod'])?$tag['mod']:'2';//拼凑数据库查询语句 这里直接用了categoryModel封装好的函数$sql = "D('category')->";$sql .= "getcategorys(".$parentID.')';//拼凑输出字符$parsestr = '$'.$result.'):';$parsestr .= '++$'.$key.';$mod = ($'.$key.' % '.$mod.' );?>';$parsestr .= $content;//解析在category标签中的内容$parsestr .= '';return $parsestr;}categoryModel中的getcategorys方法:
where(array('parentID'=>$parentID,'ismenu'=>1))->order('Listorder ASC')->select();//包含自己if($withSelf){$categorys2=$this->where(array('ID'=>$parentID,'ismenu'=>1))->limit(1)->select();$category=array_merge($categorys,$categorys2);}return $categorys;}<{$cat.catname}> 这样一个标签就做好了!!就可以甩掉那个voList在页面上动态输出我们想要的东西了! 以上是内存溢出为你收集整理的ThinkPHP标签制作教程全部内容,希望文章能够帮你解决ThinkPHP标签制作教程所遇到的程序开发问题。 如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)