网站地图    收藏   

主页 > 后端 > dedecms >

DedeCMS如何通过顶级栏目获取栏目树 - DeDecms

来源:自学PHP网    时间:2014-11-30 17:03 作者: 阅读:次

[导读] 最近在研究织梦的系统,导航栏为显示顶级目录,但每点开一个顶级目录下显示,左边是顶级栏目下的所有栏目的栏目目录树,右边是这个顶级栏目的新闻列表,如下图:DedeCMS如何通过顶级栏目...

DedeCMS如何通过顶级栏目获取栏目树

最近在研究织梦的系统,导航栏为显示顶级目录,但每点开一个顶级目录下显示,左边是顶级栏目下的所有栏目的栏目目录树,右边是这个顶级栏目的新闻列表,如下图:

DedeCMS如何通过顶级栏目获取栏目树

每点一个顶级栏目可以在页中获得所点栏目的所有信息,包括ID,typename等等栏目的信息.

{dede:field name='id' /}

这个就是得到当然页当前栏目的ID,如果当然点的是顶级栏目的话,这个ID就是TOPID了,如果点的是顶级栏目下的二级或三级栏目这个ID就不是TOPID了,这样就需要对这个ID进行判断一下,废话少说,直接在common.func.php中添加一函数,函数如下:

  1. function gtype($id) 
  2. { 
  3.     global $dsql;      
  4.     global $dsqls; 
  5.     $tags = ''; 
  6.     $sql = "Select * From `detest_arctype` where id='$id' ";           /***通过ID查询信息SQL语句 
  7.     $dsql->SetQuery($sql); 
  8.     $dsql->Execute(); 
  9.      while($row = $dsql->GetArray()) 
  10.       { 
  11.          
  12.         if(!emptyempty($row['topid'])) ---------如果TOPID非空说明接数的参数ID不是顶级栏目的ID,那就是次栏目的ID了。 
  13.         { $sid=$row['topid'];}    ---------那么就可以让$SID被赋值为这个ID的顶级栏目的ID是什么,TOPID 
  14.         else { $sid=$row['id'];}   -------- 否则就是顶级栏目的ID 
  15.     } 
  16.     $query = "Select * From `detest_arctype` where topid=reid and topid='$sid' "; 
  17.     $dsql->Execute('type',$query); 
  18.     while($row = $dsql->GetArray('type'))    -----二级栏目信息 
  19.       {  
  20.         $idd=$row['id']; 
  21.         $link= GetOneTypeUrlA($row);     -------栏目的连接 
  22.         $querys= "Select * From `detest_arctype` where reid=".$row['id']." and topid='$sid' "; 
  23.         $dsql->SetQuery($querys); 
  24.         $dsql->Execute(); 
  25.         $tag=''; 
  26.         while($rows=$dsql->GetArray())    -----三级栏目信息 
  27.             { 
  28.             $links= GetOneTypeUrlA($rows); 
  29.             $tag.= ($tag=='' ? ' <li><a href="'.$links.'" target="_blank"><strong>·</strong>'.$rows['typename'].'</a></li>': ' <li><a href="'.$links.'" target="_blank"><strong>·</strong>'.$rows['typename'].'</a></li>'); 
  30.              }  //开源软件:phpfensi.com 
  31.         
  32.         $tags.='<h2><a href='.$link.'>'.$row['typename'].'</a></h2>'.$tag;    ------有序的排起来 
  33.     } 
  34.     return $tags; 
  35.  
  36. } 

最后在list_article.htm 中调些函数:

{dede:field name='id' function="gtype(@me)" /}

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论