web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

帝国cms技巧之如何实现复制栏目时同时复制子栏

340 ℃
     

帝国cms技巧之如何实现复制栏目时同时复制子栏目,下面我们来看实现方法:

1、修改admin/addclass.php文件,大约在1153行,<input type="submit" name="Submit" value="提交">
的前面增加:<?php if($docopy) { ?><input type="checkbox" name="copyzlm" value="1" checked>复制子栏目&nbsp; <? }?>&nbsp;
2、修改admin/emsclass.php文件,大约在52行,将“AddClass($_POST,$logininid,$loginin);”修改为“cAddClass($_POST,$logininid,$loginin);”
3、将以下代码拷贝到class/userfun.php中。

function cAddClass($add, $userid, $username) {
    global $empire,
    $dbtbpre;
    if ($add[copyzlm] == '1') {
        cAddClass1($add, $userid, $username);
        $r = $empire – >fetch1("select * from {$dbtbpre}enewsclass order by classid desc limit 1");
        $bsql = $empire – >query("select * from {$dbtbpre}enewsclass where bclassid='$add[classid]' and bclassid<>'0'");
        while ($br = $empire – >fetch($bsql)) {
            $br[copyzlm] = '1';
            $br[bclassid] = $r[classid];
            $br[pripath] = $r[classpath];
            $br[classpath] = strrchr($br[classpath], '/');

            if ($br[islast] == 0) {
                $brr = $br;
                cAddClass($brr, $userid, $username); //递归
            } else {
                cAddClass1($br, $userid, $username, '1');
            }
        }

    } else {
        AddClass($add, $userid, $username);
    }
}
//增加栏目
function cAddClass1($add, $userid, $username, $zz = 0) {
    global $empire,
    $dbtbpre;
    //增加外部栏目
    if ($add[ecmsclasstype]) {
        AddWbClass($add, $userid, $username);
    }
    $add[classpath] = trim($add[classpath]);
    if (!$add[classname] || !$add[classpath] || !$add[modid]) {
        printerror("EmptyClass", "");
    }
    if ($add[islast] && (!$add[newstempid] || !$add[listtempid])) {
        printerror("LastMustChange", "");
    }
    //操作权限
    CheckLevel($userid, $username, $classid, "class");
    if ($zz == 0) {
        $add = DoPostClassVar($add);
    }
    //目录已存在
    if (strchr($add[classpath], ".") || strchr($add[classpath], "/") || strchr($add[classpath], "")) {
        // printerror("badpath","");
    }
    $classpath = $add[pripath].$add[classpath];
    if (file_exists("../../".$classpath)) {
        printerror("ReClasspath", "");
    }
    //取得表名
    $tabler = GetModTable($add[modid]);
    $tabler[tid] = (int) $tabler[tid];
    //增加大栏目
    if (!$add[islast]) {
        if (empty($add[bclassid])) //主栏目
        {
            $sonclass = "";
            $featherclass = "";
        } else //中级栏目
        {
            //取得上一级父栏目
            $r = $empire – >fetch1("select featherclass,islast,wburl from {$dbtbpre}enewsclass where classid='$add[bclassid]'");
            if ($r[islast]) //是否终极栏目
            {
                printerror("BclassNotLast", "");
            }
            if ($r[wburl]) {
                printerror("BclassNotWb", "");
            }
            if (empty($r[featherclass])) {
                $r[featherclass] = "|";
            }
            $featherclass = $r[featherclass].$add[bclassid]."|";
            $sonclass = "";
        }
        //建立目录
        CreateClassPath($classpath);
        $sql = $empire – >query("insert into {$dbtbpre}enewsclass(bclassid,classname,is_zt,sonclass,lencord,link_num,newstempid,onclick,listtempid,featherclass,islast,classpath,classtype,newspath,filename,filetype,openpl,openadd,newline,hotline,goodline,classurl,groupid,myorder,filename_qz,hotplline,modid,checked,docheckuser,checkuser,firstline,bname,islist,searchtempid,tid,tbname,maxnum,checkpl,down_num,online_num,listorderf,listorder,reorderf,reorder,intro,classimg,jstempid,addinfofen,listdt,showclass,showdt,checkqadd,qaddlist,qaddgroupid,qaddshowkey,adminqinfo,doctime,classpagekey,dtlisttempid,classtempid,nreclass,nreinfo,nrejs,nottobq,ipath,addreinfo,haddlist,sametitle,definfovoteid,wburl,qeditchecked,wapstyleid,repreinfo,pltempid,cgroupid) values($add[bclassid],'$add[classname]',0,'$sonclass',$add[lencord],$add[link_num],$add[newstempid],0,$add[listtempid],'$featherclass',$add[islast],'$classpath','$add[classtype]','$add[newspath]',$add[filename],'$add[filetype]',$add[openpl],$add[openadd],$add[newline],$add[hotline],$add[goodline],'$add[classurl]',$add[groupid],$add[myorder],'$add[filename_qz]',$add[hotplline],$add[modid],$add[checked],$add[docheckuser],'$add[checkuser]',$add[firstline],'$add[bname]',$add[islist],$add[searchtempid],$tabler[tid],'$tabler[tbname]',$add[maxnum],$add[checkpl],$add[down_num],$add[online_num],'$add[listorderf]','$add[listorder]','$add[reorderf]','$add[reorder]','$add[intro]','$add[classimg]',$add[jstempid],$add[addinfofen],$add[listdt],$add[showclass],$add[showdt],$add[checkqadd],$add[qaddlist],'$add[qaddgroupid]',$add[qaddshowkey],$add[adminqinfo],$add[doctime],'$add[classpagekey]','$add[dtlisttempid]','$add[classtempid]',$add[nreclass],$add[nreinfo],$add[nrejs],$add[nottobq],'$add[ipath]',$add[addreinfo],$add[haddlist],$add[sametitle],$add[definfovoteid],'',$add[qeditchecked],$add[wapstyleid],'$add[repreinfo]','$add[pltempid]','$add[cgroupid]');");
        $lastid = $empire – >lastid();
        //副表
        $empire – >query("replace into {$dbtbpre}enewsclassadd(classid,classtext) values('$lastid','".addslashes($add[classtext])."');");
        TogNotReClass(1);
        GetClass();
        if ($add[islist] == 0 || $add[islist] == 2) {
            $classtemp = $add[islist] == 2 ? GetClassText($lastid) : GetClassTemp($add['classtempid']);
            NewsBq($lastid, $classtemp, 0, 1);
        }
        DelListEnews(); //删除缓存文件
        GetSearch($add[modid]); //更新缓存
        if ($sql) {
            insert_dolog("classid=".$lastid."<br>classname=".$add[classname]); //操作日志
            // printerror("AddClassSuccess","AddClass.php?enews=AddClass&from=$add[from]");
        } else {
            printerror("DbError", "");
        }
    }
    //增加终级栏目
    else {
        //文件前缀
        $add[filename_qz] = RepFilenameQz($add[filename_qz]);
        if (empty($add[bclassid])) //主类别为终级栏目时
        {
            $sonclass = "";
            $featherclass = "";
        } else //子栏目
        {
            //取得上一级父栏目
            $r = $empire – >fetch1("select featherclass,islast,wburl from {$dbtbpre}enewsclass where classid='$add[bclassid]'");
            //是否终极类别
            if ($r[islast]) {
                printerror("BclassNotLast", "");
            }
            if ($r[wburl]) {
                printerror("BclassNotWb", "");
            }
            if (empty($r[featherclass])) {
                $r[featherclass] = "|";
            }
            $featherclass = $r[featherclass].$add[bclassid]."|";
            $sonclass = "";
        }
        //建立栏目目录
        CreateClassPath($classpath);
        $sql = $empire – >query("insert into {$dbtbpre}enewsclass(bclassid,classname,sonclass,is_zt,lencord,link_num,newstempid,onclick,listtempid,featherclass,islast,classpath,classtype,newspath,filename,filetype,openpl,openadd,newline,hotline,goodline,classurl,groupid,myorder,filename_qz,hotplline,modid,checked,docheckuser,checkuser,firstline,bname,islist,searchtempid,tid,tbname,maxnum,checkpl,down_num,online_num,listorderf,listorder,reorderf,reorder,intro,classimg,jstempid,addinfofen,listdt,showclass,showdt,checkqadd,qaddlist,qaddgroupid,qaddshowkey,adminqinfo,doctime,classpagekey,dtlisttempid,classtempid,nreclass,nreinfo,nrejs,nottobq,ipath,addreinfo,haddlist,sametitle,definfovoteid,wburl,qeditchecked,wapstyleid,repreinfo,pltempid,cgroupid) values($add[bclassid],'$add[classname]','$sonclass',0,$add[lencord],$add[link_num],$add[newstempid],0,$add[listtempid],'$featherclass',$add[islast],'$classpath','$add[classtype]','$add[newspath]',$add[filename],'$add[filetype]',$add[openpl],$add[openadd],$add[newline],$add[hotline],$add[goodline],'$add[classurl]',$add[groupid],$add[myorder],'$add[filename_qz]',$add[hotplline],$add[modid],$add[checked],$add[docheckuser],'$add[checkuser]',$add[firstline],'$add[bname]',$add[islist],$add[searchtempid],$tabler[tid],'$tabler[tbname]',$add[maxnum],$add[checkpl],$add[down_num],$add[online_num],'$add[listorderf]','$add[listorder]','$add[reorderf]','$add[reorder]','$add[intro]','$add[classimg]',$add[jstempid],$add[addinfofen],$add[listdt],$add[showclass],$add[showdt],$add[checkqadd],$add[qaddlist],'$add[qaddgroupid]',$add[qaddshowkey],$add[adminqinfo],$add[doctime],'$add[classpagekey]','$add[dtlisttempid]','$add[classtempid]',$add[nreclass],$add[nreinfo],$add[nrejs],$add[nottobq],'$add[ipath]',$add[addreinfo],$add[haddlist],$add[sametitle],$add[definfovoteid],'',$add[qeditchecked],$add[wapstyleid],'$add[repreinfo]','$add[pltempid]','$add[cgroupid]');");
        $lastid = $empire – >lastid();
        //副表
        $empire – >query("replace into {$dbtbpre}enewsclassadd(classid,classtext) values('$lastid','".addslashes($add[classtext])."');");
        //修改父栏目的子栏目
        if ($add[bclassid]) {
            $b_r = $empire – >fetch1("select sonclass,featherclass from {$dbtbpre}enewsclass where classid='$add[bclassid]'");
            if (empty($b_r[sonclass])) {
                $b_r[sonclass] = "|";
            }
            $new_sonclass = $b_r[sonclass].$lastid."|";
            $update = $empire – >query("update {$dbtbpre}enewsclass set sonclass='$new_sonclass' where classid='$add[bclassid]'");
            //更改父类别的父栏目的子栏目
            $where = ReturnClass($b_r[featherclass]);
            if (empty($where)) {
                $where = "classid=0";
            }
            $bsql = $empire – >query("select sonclass,classid from {$dbtbpre}enewsclass where ".$where);
            while ($br = $empire – >fetch($bsql)) {
                if (empty($br[sonclass])) {
                    $br[sonclass] = "|";
                }
                $new_sonclass = $br[sonclass].$lastid."|";
                $update = $empire – >query("update {$dbtbpre}enewsclass set sonclass='$new_sonclass' where classid='$br[classid]'");
            }
        }
        DelListEnews(); //删除缓存文件
        TogNotReClass(1);
        GetClass();
        GetSearch($add[modid]); //更新缓存
        if ($sql) {
            insert_dolog("classid=".$lastid."<br>classname=".$add[classname]); //操作日志
            // printerror("AddLastClassSuccess","AddClass.php?enews=AddClass&from=$add[from]");
        } else {
            printerror("DbError", "history.go(-1)");
        }
    }
}

上面代码,只有函数cAddClass是我写的,下面的函数cAddClass是对wf原来的函数AddClass稍作修改拷贝过来的,放到userfun.php文件中目的是不对classfun.php文件作改动。

js如何实现复制页面内容的三种方法

利用css3实现禁止文章内容复制

在每个pre代码块中增加一个“复制代码”功能

js禁止页面复制、F12及右键功能

dede织梦复制网站文章内容自动加版权代码教程

标签: 复制

上面是“帝国cms技巧之如何实现复制栏目时同时复制子栏”的全面内容,想了解更多关于 帝国cms 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_1188.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > 帝国cms
本文共计9654个字,预计阅读时长65分钟
生活小工具,收录了80多款小工具
上一篇: 推荐2款充满科技感的艺术字体——小新黑体、小新潮酷体
下一篇: 推荐一款浏览器数据库的开源工具库——Dexie.js(JavaScript调用)
x 打工人ai神器