找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 109|回复: 0

[cms教程] 给织梦添加复制文档的功能

[复制链接]

该用户从未签到

发表于 2020-6-17 13:06:53 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
给织梦添加复制文档的功能步骤如下:
         
        一、打开templets下的content_list.htm
         
            找到 这一行:
         
        [url=,)" class="coolbg"> 移动 [/url]
         
        在这一行的下方添加:
         
           [url=,);" class="coolbg"> 复制 [/url]
         
        二、打开dede/js/list.js
         
        找到moveArc这个函数
         
        function moveArc(e, obj, cid){
            var qstr=getCheckboxItem();
            if(qstr=='')
            {
                alert('必须选择一个或多个文档!');
                return;
            }
            LoadQuickDiv(e, 'archives_do.php?dopost=moveArchives&qstr='+qstr+'&channelid='+cid+'&rnd='+Math.random()] 'moveArchives', '450px', '180px');
            ChangeFullDiv('show');
        }
         
        然后在下方添加copyArc这个函数
         
        function copyArc(e, obj, cid){
            var qstr=getCheckboxItem();
            if(qstr=='')
            {
                alert('必须选择一个或多个文档!');
                return;
            }
            LoadQuickDiv(e, 'archives_do.php?dopost=copyArchives&qstr='+qstr+'&channelid='+cid+'&rnd='+Math.random()] 'copyArchives', '450px', '180px');
            ChangeFullDiv('show');
        }
         
        三、打开 dede/archives_do.php找到
         
        else if($dopost=='moveArchives')
        {
         
        这句代码 然后在这个大括弧结尾处 也就是在433行左右添加如下代码:
         
         
         
        /*-----------------------------
        function copyArchives(){ }
        ------------------------------*/
         
         
        else if($dopost=='copyArchives')
        {
            CheckPurview('sys_ArcBatch');
            if(empty($totype))
            {
                require_once(DEDEINC.'/typelink.class.php');
                if( !empty($aid) && empty($qstr) ) $qstr = $aid;
         
                AjaxHead();
                $channelid = empty($channelid) ? 0 : $channelid;
                $tl = new TypeLink($aid);
                $typeOptions = $tl->GetOptionArray(0] $admin_catalogs, $channelid);
                $typeOptions = "
         
        请选择复制到的位置...\r\n
                $typeOptions
                ";
                
                //输出AJAX可移动窗体
                $divname = 'copyArchives';
                echo "\r\n";
                echo "    复制文档\r\n";
                echo "   

                               
登录/注册后可看大图

\r\n";
                echo "\r\n";
                echo "\r\n";
                echo "[i,\r\n";
                echo "[i,\r\n";
                echo "\r\n";
        ?>
       
             目标栏目:
            
            
            
       
       
             文档ID:
            
                [i," style='width:310px;overflow:hidden;' />
                

                复制到的目标栏目必须和选定的文档频道类型一致,否则程序会自动勿略不符合的文档。
            
       
       
            
                [i,
                  
                
[img][/img]
");ChangeFullDiv("hide");' style="cursor:pointer" />
            
       
       
       
       
            //AJAX窗体结束
            }
            else
            {
                $totype = preg_replace("#[^0-9,#", '', $totype);
                $typeInfos = $dsql->GetOne("SELECT tp.channeltype,tp.ispart,tp.channeltype,ch.maintable]ch.addtable]ch.issystem FROM `me_arctype` tp LEFT JOIN `me_channeltype` ch on ch.id=tp.channeltype WHERE tp.id='$totype' ");
                $idtype = "id";
                if(!is_array($typeInfos))
                {
                    ShowMsg('参数错误!','-1');
                    exit();
                }
                if($typeInfos['ispart',!=0)
                {
                    ShowMsg('文档保存的栏目必须为最终列表栏目!','-1');
                    exit();
                }
                if(empty($typeInfos['addtable',))
         
        {
                    $typeInfos['maintable', = 'me_archives';
                }
                //增加单表模型判断
                if($typeInfos['issystem', == -1)
                {
                    $typeInfos['maintable', = $typeInfos['addtable',;
                    $idtype = "aid";
                }
                $arcids = preg_replace("#[^0-9,,#", '', preg_replace("#`#", ',', $qstr));
                $arc = '';
                $j = 0;
                $okids = array();
                $dsql->SetQuery("SELECT {$idtype},typeid FROM `{$typeInfos['maintable',}` WHERE {$idtype} in($arcids) AND channel='{$typeInfos['channeltype',}' ");
                $dsql->Execute();
                while($row = $dsql->GetArray())
                {
                    if($row['typeid',!=$totype)
                    {
        $dsql->ExecuteNoneQuery("insert into me_arctiny (typeid,typeid2,arcrank,channel,senddate,sortrank,mid) select typeid,typeid2,arcrank,channel,senddate,sortrank,mid from me_arctiny where id='{$row[$idtype,}'");
        $xid = $dsql->GetLastID();  
                        $dsql->ExecuteNoneQuery("insert into `{$typeInfos['maintable',}`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color]writer,source,litpic,pubdate,senddate,mid,keywords,lastpost,scores,goodpost,badpost,voteid,notpost,description,filename,dutyadmin,tackid,mtype,weight) select case when id>'0' then '$xid'  else '' end, case when typeid>'0' then '$totype'  else '' end,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color]writer,source,litpic,pubdate,senddate,mid,keywords ,lastpost,scores,goodpost,badpost,voteid,notpost,description,filename,dutyadmin,tackid,mtype,weight from `{$typeInfos['maintable',}` WHERE id='{$row[$idtype,}' ");
                        $dsql->ExecuteNoneQuery("insert into `{$typeInfos['addtable',}`(aid,typeid,body,redirecturl]templet,userip]bigpic) select case when aid>'0' then '$xid'  else '' end,$totype,body,redirecturl]templet,userip]bigpic from `{$typeInfos['addtable',}` WHERE aid='{$row[$idtype,}' ");
                        $okids[, = $row[$idtype,;
                        $j++;
                    }
                }
                //更新HTML
                foreach($okids as $aid)
                {
                    $arc = new Archives($aid);
                    $arc->MakeHtml();
                }
                ShowMsg("成功复制 $j 个文档!", $ENV_GOBACK_URL);
                exit();
            }
        }
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-7 18:31

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表