获取菜单内容拓展


原因:

我在做网站的过程中,我有时候会想知道 这个菜单所指向的是分类还是页面,还有具体的ID是多少,于是我改了下 common 下的 function.php 文件

各位大大如果有跟我一样的问题的话直接复制 把该函数覆盖掉就行了

//代码:修改的地方有注释
function _sp_get_menu_datas($id){
    $nav_obj= M("Nav");
    $id= intval($id);
    $id = empty($id)?"main":$id;
    if($id=="main"){
        $navcat_obj= M("NavCat");
        $main=$navcat_obj->where("active=1")->find();
        $id=$main['navcid'];
    }
    if(empty($id)){
        return array();
    }
    $navs= $nav_obj->where("cid=$id and status=1")->order(array("listorder" => "ASC"))->select();
    foreach ($navs as $key=>$nav){
        $href=htmlspecialchars_decode($nav['href']);
        $hrefold=$href;
        if(strpos($hrefold,"{")){
            $href=unserialize(stripslashes($nav['href']));
            $type = explode('/',$href['action']); //获取模块名称 模块 page list
            $type = $type[1];                     //将模块类型重新赋值
            $type_id = $href['param']['id'];      //获取模块的ID
            $default_app=strtolower(C("DEFAULT_MODULE"));
            $href=strtolower(leuu($href['action'],$href['param']));
            $g=C("VAR_MODULE");
            $href=preg_replace("/\/$default_app\//", "/",$href);
            $href=preg_replace("/$g=$default_app&/", "",$href);
        }else{
            if($hrefold=="home"){
                $href=__ROOT__."/";
            }else{
                $href=$hrefold;
            }
        }
        $nav['href']=$href;
        $nav['type']=$type;  //加入模块类型
        $nav['type_id']=$type_id; //加入模块ID
        $navs[$key]=$nav;
    }
    F("site_nav",$navs);
    return $navs;
}
打赏

评论

请登录后查看回复,立即登录
发表话题

源素材推荐

提问必知

0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复

积分规则

1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号


最新福利:领取阿里云2000通用代金券(新老客户均可用)