当前位置:主页 > 互联网知识 >

织梦网站后台增加复制文章文档的功能

发表日期:2019-06-23 09:33文章编辑:狐灵科技浏览次数: 标签:织梦,网站,后台,增加,复制,文章,文档,的,功能,

起因:

因为狐灵的客户 在我们公司做了一个中文网站 突然突然想在增加一个外贸站 而且是以二级目录/en 的形式

客户的产品有几千个 非常之多  每篇文章发布起来是非常麻烦的  所以导致我们想增加文章复制功能 只把标题改下 提高效率

下面说织梦网站后台增加复制文档的功能的详细说明 另“附上修改的文件打包


效果图如下:

复制文档功能截图

Dedecms织梦后台增加复制文档
的功能步骤如下

一、打开templets下的content_list.htm 找到

<a href="javascript:;" onClick="moveArc(event,this,<?php echo (empty($channelid) ? 0 : $channelid); ?>)" class="coolbg"> 移动 </a>

在这一行的下方添加:

<a href="javascript:;" onClick="copyArc(event,this,<?php echo (empty($channelid) ? 0 : $channelid); ?>);" class="coolbg"> 复制 </a>

 

二、打开dede/js/list.js 找到


unction moveArc(e, obj, cid)

在它的上方添加这个函数
 

  1. 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=='return')



在它的上方添加如下代码:

  1. elseif ($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 = "<select name='totype' style='width:90%'>
            <option value='0'>请选择复制到的位置...</option>\r\n
            $typeOptions
            </select>";
     
            //输出AJAX可移动窗体
            $divname = 'copyArchives';
            echo "<div class='title' onmousemove=\"DropMoveHand('{$divname}', 225);\" onmousedown=\"DropStartHand();\" onmouseup=\"DropStopHand();\">\r\n";
            echo "    <div class='titLeft'>复制文档</div>\r\n";
            echo "    <div class='titRight'><img src='images/ico-close.gif' style='cursor:pointer;' onclick='HideObj(\"{$divname}\");ChangeFullDiv(\"hide\");' 关闭' title='关闭' /></div>\r\n";
            echo "</div>\r\n";
            echo "<form name='quickeditform' action='archives_do.php' method='post'>\r\n";
            echo "<input type='hidden' name='dopost' value='{$dopost}' />\r\n";
            echo "<input type='hidden' name='qstr' value='{$qstr}' />\r\n";
            echo "<table width='100%' style='margin-top:6px;z-index:9000;'>\r\n";
            ?>
            <tr height='28'>
                <td width="80" class='bline'> 目标栏目:</td>
                <td class='bline'>
                    <?php echo $typeOptions; ?>
                </td>
            </tr>
            <tr height='32'>
                <td width="80" class='bline'> 文档ID:</td>
                <td class='bline'>
                    <input type='text' name='tmpids' value="<?php echo $qstr; ?>" style='width:310px;overflow:hidden;'/>
                    <br/>
                    复制到的目标栏目必须和选定的文档频道类型一致,否则程序会自动勿略不符合的文档。
                </td>
            </tr>
            <tr height='32'>
                <td colspan='2' align='center' style='padding-top:12px'>
                    <input name="imageField" type="image" src="images/button_ok.gif" width="60" height="22" class="np"
                           border="0" style="cursor:pointer"/>
                      
                    <img src="images/button_back.gif" width="60" height="22" border="0"
                         onclick='HideObj("<?php echo $divname; ?>");ChangeFullDiv("hide");' style="cursor:pointer"/>
                </td>
                </td>
            </tr>
            </table>
            </form>
            <?php
            //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 `dede_arctype` tp LEFT JOIN `dede_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'] = '`dede_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 `dede_arctiny` (typeid,typeid2,arcrank,channel,senddate,sortrank,mid) select typeid,typeid2,arcrank,channel,senddate,sortrank,mid from `dede_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) select case when aid>'0' then '$xid'  else '' end,$totype,body,redirecturl,templet,userip from `{$typeInfos['addtable']}` WHERE aid='{$row[$idtype]}' ");
                    
                    $okids[] = $row[$idtype];
                    $j++;
                }
            }
     
            
        UpDateCatCache();
        $sql = " TRUNCATE TABLE `dede_arctiny`";
        $dsql->ExecuteNoneQuery($sql);
        
        //导入普通模型微数据
        $sql = "INSERT INTO `dede_arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid)  
                SELECT id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid FROM `dede_archives` ";
        $dsql->ExecuteNoneQuery($sql);
        
        //导入单表模型微数据
        $dsql->SetQuery("SELECT id,addtable FROM `dede_channeltype` WHERE id < -1 ");
        $dsql->Execute();
        $doarray = array();
        while($row = $dsql->GetArray())
        {
            $tb = str_replace('dede_', $cfg_dbprefix, $row['addtable']);
            if(empty($tb) || isset($doarray[$tb]) )
            {
                continue;
            }
            else
            {
                $sql = "INSERT INTO `dede_arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid)  
                        SELECT aid, typeid, 0, arcrank, channel, senddate, 0, mid FROM `$tb` ";
                $rs = $dsql->executenonequery($sql);
                $doarray[$tb]  = 1;
            }
        }
            //更新HTML
            foreach ($okids as $aid) {
                $arc = new Archives($aid);
                $arc->MakeHtml();
            }
            ShowMsg("成功复制 $j 个文档!", $ENV_GOBACK_URL);
            exit();
        }
     


然后就完成了织梦 增加复制文章的方法



如果嫌麻烦或者担心改错 可以下载懒人包进行替换

 点击图标下载(注意更改dede默认目录)



如没特殊注明,文章均为狐灵科技原创,转载请注明  http://www.hulingweb.cn/hulianwang/449.html
  • 更多 +狐灵业务单元

    营销型网站建设 品牌创意网站 企业官方网站 上市公司网站 B2C电子商务网站 大型门户网站 专题活动网站 定制化电子商务 产品商城网站 移动手机电商网站 微信会员电商

  • 更多 +我们的优势

  • 更多 +关于狐灵

    狐灵致力于互联网品牌建设与网络营销,专业领域包括网站建设、电子商务、移动互联网营销、系统平台开发, 与其他网站建设及系统开发公司不同,我们的整合解决方案结合了狐灵网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供一体化全方位的互联网品牌整合方案!

更多 +联系我们

服务热线:15523356218座机专线:023-68168040

业务 QQ传真:023-68168040

售后专线15082661954售后QQ:

渠道合作邮箱Foxl@hulingweb.cn

我们的认知

在我们的对手消耗大量的时间停留在碎片化的互联网设计或者程序实现的时候,我们已经开始把数字化品牌建设和网络传播进行了整合。只有通过整体的互联网品牌分析,帮助企业家们进行互联网品牌建设,并传播企业品牌,并围绕品牌树立品牌价值,提升企业与用户的互相交流,与用户品牌交互,让用户能找专业的方法去解决问题。传播品牌,激起消费者品牌意识,在这过程中创造价值,这是我们成功的秘诀,也是我们帮助用户成功的诀窍,更是成就一流品牌的一条直达线。

不能否认的是,建设网站,创造互联网品牌价值的过程,是一种在互联网上艺术的行为,但互联网跟涂鸦全然不同,企业的品牌价值并不体现在希望品牌成为某个这种艺术家的作品。互联网传播的对象是用户,用户拥有自己的文化体系,群落共性才是互联网传播根本,这种传播才是互联网创造价值的体现,这种价值的体现呈现多样。空洞的好看没有实质是网站建设的闹剧,网站如果不能激发品牌价值和网络营销和帮助用户,则是网站建设的悲哀,这样的网站没有灵魂!所以,网站建设运营,网络营销必须得得人心,有非常好的用户体验,能够解决问题和需求,能够为梦想者创造和传播品牌价值,最后创造价值,狐灵与你同行!


HI,Are you ready?

  • 公司名称*
  • 邮箱*
  • 姓名*电话*

您需要的服务*

现有网站改版
我需要做微信营销
建设全新的企业网站
要找长期合作公司,需要年度服务
我需要做购物商城
我需要做系统平台
我需要做营销型网站
我需要优化推广

您最关注的地方*

对功能要求比较高
对设计创意要求比较高
需要可以购物支付
搜索引擎排名

预算*

5千以下 1万以下 1-2万 2-3万 3-5万 5-10万 10万以上 大型项目需要招标
验证码 看不清?点击更换 看不清? 点击更换

售前售前
售后售后
留言微信
Top