帝国CMS判断栏目有无下级栏目的方法,非islast判断!

分类栏目:帝国学院

发布于

帝国CMS如果要判断栏目有没有下级栏目通用的方法是判断islast字段,但是这个字段只能判断这个栏目下面有没有最终栏目,不能判断这个栏目下面有没有一般栏目。所以用islast字段判断的方法就不行了!
模板由于种种神(dan)奇(teng)的要求需要完美判断一个栏目有没有下级栏目,于是就有了下面的代码:
$arr=array();
      $arr1=$empire->query("select classid,classname,sonclass,featherclass,islast from {$dbtbpre}enewsclass");  
       while($arr2=$empire->fetch($arr1)){
        $arr[]=$arr2['featherclass']; 
       }
       $arr=implode(",",$arr);
上面总体代码含义为,定义一个数组变量,查询所有栏目,循环输出父栏目featherclass字段数据到数组,数组转为字符串。那么这里就会得到所有是父栏目的ID:各种|1|2|,|5|26|类似这样的一堆的字符串了!那么接下来就好办了。

$zi="|$s1[classid]|";
if(strstr($arr,$zi)){
$down1='有下级栏目';
}
获取到栏目ID:比如|2|,判断这个ID|2|在字符串中存在,那么他肯定是父栏目了!经过测试这个是最准确的判断方法,虽然比较繁琐,但是满足开发需求!期待其他高手补充!
 

查看原内容