首页 > CMS > 帝国Empire > 正文

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

2024-08-28 12:21:43
字体:
来源:转载
供稿:网友

相对官方的[!--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="";//开源软件:Vevb.com 
  35.                 if($r[bclassid]){$prefix = "&nbsp;>&nbsp;";} 
  36.                 echo $prefix."<a href =/"/".$r[classurl]."/">".$r[classname]."</a>"
  37.         } 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表