主頁 > 網(wǎng)站建設 > 建站知識 > 給織夢添加復制文檔的功能

給織夢添加復制文檔的功能

POST TIME:2017-11-12 23:42

給織夢添加復制文檔的功能步驟如下:
一、打開templets下的content_list.htm
找到 這一行:
<a href="javascript:;" onClick="moveArc(event,this,<?php echo (empty($channelid) ? 0 : $channelid); ?>)" class="coolbg">&nbsp;移動&nbsp;</a>
在這一行的下方添加:
<a href="javascript:;" onClick="copyArc(event,this,<?php echo (empty($channelid) ? 0 : $channelid); ?>);" class="coolbg">&nbsp;復制&nbsp;</a>
二、打開dede/js/list.js
找到moveArc這個函數(shù)
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這個函數(shù)
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')
{
這句代碼 然后在這個大括弧結(jié)尾處 也就是在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 = "<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\&;);' alt='關閉' 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'>&nbsp;目標欄目:</td>
<td class='bline'>
<?php echo $typeOptions; ?>
</td>
</tr>
<tr height='32'>
<td width="80" class='bline'>&nbsp;文檔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" />
&nbsp;&nbsp;
<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窗體結(jié)束
}
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('參數(shù)錯誤!','-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();
}
}


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266