当前位置:首页 > CMS教程 > 帝国cms > 列表

帝国CMS替换“当前位置导航”[!---newsnav--]

发布:smiling 来源: PHP粉丝网  添加日期:2014-11-21 16:12:31 浏览: 评论:0 

相对官方的[!--newsnav--],解决样式死板,可随意更改输出的样式,有的栏目用的二级域名,比如资讯页面,我想[!--newsnav--]显示的是 资讯首页>xxx>xxx 而不是 首页>资讯>xxx>xxx,用[!--newsnav--]就实现不了.

所以要改进,如何改进?

第一步:在e/class/userfun.php中加入下面的函数:

  1. //当前位置导航 
  2. function user_linknav($classid){ 
  3.         global $empire,$dbtbpre,$navclassid,$class_r,$public_r
  4.         //当前栏目 
  5.         if($classid=="selfinfo"){ 
  6.                 if(emptyempty($navclassid)){ 
  7.                         $classid=0; 
  8.                 }else
  9.                         $classid=$navclassid
  10.                         //终极类别则显示同级类别 
  11.                         if($class_r[$classid][islast]&&$class_r[$classid][bclassid]){ 
  12.                                 $classid=$class_r[$classid][bclassid]; 
  13.                         } 
  14.                         if($class_r[$classid][islast]&&emptyempty($class_r[$classid][bclassid])){ 
  15.                                 $classid=0; 
  16.                         } 
  17.                 } 
  18.         } 
  19.         $query="select classname,bclassid,classpath from {$dbtbpre}enewsclass  where classid=".$classid
  20.  
  21.         $sql=$empire->query($query); 
  22.         //echo "<a href = \"/\">首页</a>"; 
  23.         while($r=$empire->fetch($sql)){ 
  24.                 findparent($r[bclassid]); 
  25.                 echo "&nbsp;>&nbsp;<a href =\"/".$r[classurl]."\">".$r[classname]."</a>"
  26.         } 
  27. //当前位置导航,递归查询父栏目 
  28. function findparent($classid){ 
  29.         global $empire,$dbtbpre
  30.         $query="select classname,bclassid,classpath from {$dbtbpre}enewsclass  where classid=".$classid
  31.         $sql=$empire->query($query); 
  32.         while($r=$empire->fetch($sql)){ 
  33.                 findparent($r[bclassid]); 
  34.                 $prefix="";//开源软件:phpfensi.com 
  35.                 if($r[bclassid]){$prefix = "&nbsp;>&nbsp;";} 
  36.                 echo $prefix."<a href =\"/".$r[classurl]."\">".$r[classname]."</a>"
  37.         } 

第二步:在模板里,以前写[!--newsnav--]的地方,直接替换成<?user_linknav($GLOBALS[navclassid]);?>

Tags: 帝国CMS 当前位置导航

分享到: