帝国ecms商业教程 帝国CMS替换当前位置导航[!---newsnav--]标签,实现样式自定义!

↓↓↓↓↓↓↓↓↓↓以下广告如有交易,请尽量联系站长协助(不收任何费用),以免出现问题,站长QQ5382538(留言“交易协助”)!↓↓↓↓↓↓↓↓↓↓

↑↑↑↑↑↑↑↑↑↑上面广告如有交易,请尽量联系站长协助(不收任何费用),以免出现问题,站长QQ5382538(留言“交易协助”)!↑↑↑↑↑↑↑↑↑↑

帝国ecms商业教程 帝国CMS替换当前位置导航[!---newsnav--]标签,实现样式自定义!

学习教程tuzi2018-10-22 18:20:19A+A-

官方的[!--newsnav--]有什么不足?

1、样式死板 输出的样式写死在程序里 要修改只能改官方源码 升级时会痛苦不堪

2、有的栏目用的二级域名,比如资讯页面,我想[!--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(empty($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]&&empty($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 "&nbsp;>&nbsp;<a href ="/".$r[classpath]."">".$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="";

                if($r[bclassid]){$prefix = "&nbsp;>&nbsp;";}

                echo $prefix."<a href ="/".$r[classpath]."">".$r[classname]."</a>";

        }

}

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

这里代码直接照搬了前辈的代码,只是有些小改动,较之于前辈的贴子,这篇里的代码改动了

1、findparent函数里加了一行判断,如果是顶级栏目了,则前面不加“&nbsp;>&nbsp;”,否则再加

2、调用该功能时,不使用标签,直接写php代码,省去一步麻烦

点击这里复制本文地址

声明

本站发布所有广告信息、下载资源,均来自互联网,非本站自制,与本站无关。 如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。


本站中所有资料、资源文件均来自于网络搜索,仅作为技术学习研究之用,请必须在24小时内删除所下载文件,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。


本站保证站内提供的所有可下载资源(软件等等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 


访问本站的用户必须明白,[资源爱好者]对提供下载的软件等不拥有任何权利,其版权归该下载资源的合法拥有者所有。


本站所有资源均不提供相关技术服务,如果源码下载地址失效则请联系站长进行补发。


本站所有资源展现图片仅供参考

资源爱好者 © All Rights Reserved.  
本站发布所有资源,均来自互联网,非本站自制,分享目的仅供大家学习与参考,与本站无关。
如有侵犯您的合法权益请来信告之。我们会在三个工作日内予以清除。邮箱:admin?aihao.org
广告合作|关于我们|网站地图|冀ICP备14009590号-1|冀公网安备13018302000072|