相对官方的[!--newsnav--],解决样式死板,可随意更改输出的样式,有的栏目用的二级域名,比如资讯页面,我想[!--newsnav--]显示的是 资讯首页>xxx>xxx 而不是 首页>资讯>xxx>xxx,用[!--newsnav--]就实现不了.
所以要改进,如何改进?
第一步:在e/class/userfun.php中加入下面的函数:
- //当前位置导航
- function user_linknav($classid){
- global $empire,$dbtbpre,$navclassid,$class_r,$public_r;
- //当前栏目
- if($classid=="selfinfo"){
- if(emptyempty($navclassid)){
- $classid=0;
- }else{
- $classid=$navclassid;
- //终极类别则显示同级类别
- if($class_r[$classid][islast]&&$class_r[$classid][bclassid]){
- $classid=$class_r[$classid][bclassid];
- }
- if($class_r[$classid][islast]&&emptyempty($class_r[$classid][bclassid])){
- $classid=0;
- }
- }
- }
- $query="select classname,bclassid,classpath from {$dbtbpre}enewsclass where classid=".$classid;
- $sql=$empire->query($query);
- //echo "<a href = /"//">首页</a>";
- while($r=$empire->fetch($sql)){
- findparent($r[bclassid]);
- echo " > <a href =/"/".$r[classurl]."/">".$r[classname]."</a>";
- }
- }
- //当前位置导航,递归查询父栏目
- function findparent($classid){
- global $empire,$dbtbpre;
- $query="select classname,bclassid,classpath from {$dbtbpre}enewsclass where classid=".$classid;
- $sql=$empire->query($query);
- while($r=$empire->fetch($sql)){
- findparent($r[bclassid]);
- $prefix="";//开源软件:Vevb.com
- if($r[bclassid]){$prefix = " > ";}
- echo $prefix."<a href =/"/".$r[classurl]."/">".$r[classname]."</a>";
- }
- }
第二步:在模板里,以前写[!--newsnav--]的地方,直接替换成<?user_linknav($GLOBALS[navclassid]);?>
新闻热点
疑难解答