各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > dedecms

dede联动菜单无法添加二级选择

管理员 2015-08-24
dedecms
100

dede联动菜单是一个非常实用的功能,然而dedeCMS直接安装后,添加到联动三级菜单以后,再插入二级选择会自动生成三级选择,以下方法解决此bug。

一、找到:dede/stepselect_main.php文件将以下替换源文件215行的对应代码

else if($action=='addenum_save')  
    {  
      if(empty($ename) || empty($egroup))   
      {  
             Showmsg("类别名称或组名称不能为空!","-1");  
             exit();  
        }  
        if($issign == 1 || $topvalue == 0)  
        {  
            $enames = explode(',', $ename);  
            foreach($enames as $ename)  
            {  
                $arr = $dsql->GetOne("SELECT * FROM `dede_sys_enum` WHERE egroup='$egroup' AND (evalue MOD 500)=0 ORDER BY disorder DESC ");  
                if(!is_array($arr)) $disorder = $evalue = ($issign==1 ? 1 : 500);  
                else $disorder = $evalue = $arr['disorder'] + ($issign==1 ? 1 : 500);  
                      
                $dsql->ExecuteNoneQuery("INSERT INTO `dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)   
                                        VALUES('$ename','$evalue','$egroup','$disorder','$issign'); ");   
            }  
            WriteEnumsCache($egroup);                                                            
            ShowMsg("成功添加枚举分类!".$dsql->GetError(), $ENV_GOBACK_URL);  
            exit();  
        } else if ($issign == 3 && $topvalue != 0)  
        {  
            $minid = $topvalue;  
            $maxnum = 500; // 三级子类最多500个  
            $enames = explode(',', $ename);  
            foreach ($enames as $ename)  
            {  
                $arr = $dsql->GetOne("SELECT * FROM `dede_sys_enum` WHERE egroup='$egroup' AND evalue LIKE '$topvalue.%%%' ORDER BY evalue DESC ");  
                if(!is_array($arr))  
                {  
                    $disorder = $minid;  
                    $evalue = $minid.'.001';  
                }  
                else  
                {  
                    $disorder = $minid;  
                    preg_match("#([0-9]{1,}).([0-9]{1,})#", $arr['evalue'], $matchs);  
                    $addvalue = $matchs[2] + 1;  
                    $addvalue = sprintf("%03d", $addvalue);  
                    $evalue = $matchs[1].'.'.$addvalue;  
                }  
                $sql = "INSERT INTO `dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)   
                                        VALUES('$ename','$evalue','$egroup','$disorder','$issign'); ";  
                // echo $sql;exit;  
                $dsql->ExecuteNoneQuery($sql);   
            }  
            // echo $minid;  
            WriteEnumsCache($egroup);  
            ShowMsg("成功添加枚举分类!".$issign, $ENV_GOBACK_URL);  
            exit();  
        } else {  
       $minid = $topvalue;  
       $maxid = $topvalue + 500;  
       $enames = explode(',', $ename);  
          foreach($enames as $ename)  
          {  
        $arr = $dsql->GetOne("Select * From `dede_sys_enum` where egroup='$egroup' And evalue>$minid And evalue<$maxid order by evalue desc ");  
        if(!is_array($arr))  
        {  
         $disorder = $evalue = $minid+1;  
        }  
        else  
        {  
         $disorder = $arr['disorder']+1;  
         $evalue = (int)($arr['evalue']+1);  
        }  
        $dsql->ExecuteNoneQuery("Insert into `dede_sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)  
                                     values('$ename','$evalue','$egroup','$disorder','$issign'); ");  
           }  
           WriteEnumsCache($egroup);  
       ShowMsg("成功添加枚举分类!".$issign, $ENV_GOBACK_URL);  
       exit();  
     }  
    }二、找到:dede/templets/stepselect_main.htm文件将

if($topvalue % 500 != 0) $arr['issign'] = 2; 

替换为:

if($topvalue % 500 != 0) $arr['issign'] = 3;
if($topvalue % 500 == 0) $arr['issign'] = 2;

以上这样修改后1,2,3 联动能添加,再4级就不行了。应为这里的标记只判断到3,织梦也最多能添加3级联动。所以足够用了。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除! 联动

相关文档推荐

dedecms织梦无需登录注册可下单购买的修改 dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username) 织梦dedecms注册会员列表常用sql分析 用过织梦dedecms的人都知道,织梦会员系统相当强大,跟论坛程序差不多,对于使用会员系统的人来说,织梦系统足够用的了,但是,有时候,织梦系统很多的地方又不是我们所希望,或都说,有的地方不适合我们使用,这时候就要对织梦会员系统进行二次开发,所以, dedecms怎么在注册会员页面增加一个字段 我们在用到织梦dedecms的会员功能时候,注册页面的注册项需要增加,比如想多加一个手机号的字段,需要怎么操作呢?下面我们以增加一个手机号的字段为例子 1、找到网站目录下的/member/templets/reg-new.htm,在合适位置增加一行表单,代码如下: lispan手机 dedecms自动统计当前栏目文档总数方法 SQL语句中,有统计的函数,我们可以通过在织梦中使用SQL语句统计的方法,在列表页内显示该栏目共有多少篇文章。这样做的好处是,有助于提升用 户体验。比如说我一个文章列表下面有10篇文章,就自动统计出10篇,到20篇的时候自动统计成20篇。这样用户对网站的 dedecms织梦artlist和list标签调用图集图片实现方法 我们在做 织梦模板 开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。跟版网整理了个一个这样功能的自定义函数。调用后效果如下: dedecms织梦artlist和list标签调用图集图片实现方法 函数代码 请将代码加入到 /includ dedecms如何写API接口 json数据格式可以方便不同站点之间进行数据调用引用,当然我们的DEDECMS也可以实现全站数据生成JSON供其他站点调用,代码很简单,主要用到include/json.class.php。 织梦本身是自带json标签的,调用方法: {dede:json url=http://yoursite/json.php cache=300 织梦安装使用织梦二次开发织梦优化织梦标签dedecms教程织梦安全 织梦资讯网 织梦模板 dede 外语学校 织梦鬼故事 竞价网站源码 竞价培训网 门户网站 织梦二次开发 织梦笑话网 dedecms笑话网 织梦源码 网站建设 搞笑图片 织梦教程 旅游网站源码 织梦旅游网 学校培训 html5 企业织梦源码 医院源码 后台样式 移动营销页 整形医院 大学医院 新手建站 客服代码 洗衣机维修 企业网站 淘宝客 导航菜单 教育网站 学校源码 装修网站 装修模板 美容整形 女性健康 妈妈网 机械源码 建站公司 珠宝首饰 苹果网站 手机资讯 美女图片 织梦模版打包 妇科源码 安卓市场源码 男性时尚网 健康之家 app应用网站 笑话网站 下载站 美女图片网 中医院网站 家装网站源码 QQ网站 标牌网站 魔兽世界网 淘宝客源码 YY网站源码 别墅设计网站 服装搭配网 宝宝起名网 站长网站 婚庆网站 脑科医院源码 笑话源码 肝胆医院 意外怀孕源码 工作室

扫码关注

qrcode

QQ交谈

回顶部