相對官方的[!--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]);?>
新聞熱點
疑難解答