織夢(mèng)網(wǎng)站后臺(tái)增加復(fù)制文章文檔到其他欄目的功能,這個(gè)相對(duì)于多語(yǔ)言版網(wǎng)站還是有需要,只是默認(rèn)功能沒(méi)有呢。
中文站發(fā)了很多產(chǎn)品,然后英文版又要重復(fù)發(fā),很是麻煩,如果復(fù)制過(guò)去,稍修改下就可以了。
需要在后臺(tái)文件做二次修改,下面進(jìn)入主題:
Dedecms織夢(mèng)后臺(tái)增加復(fù)制文檔的功能步驟如下
一、打開templets下的content_list.htm 找到
<a href="javascript:;" onClick="moveArc(event,this,<?php echo (empty($channelid) ? 0 : $channelid); ?>)" class="coolbg"> 移動(dòng) </a>
在這一行的下方添加:
<a href="javascript:;" onClick="copyArc(event,this,<?php echo (empty($channelid) ? 0 : $channelid); ?>);" class="coolbg"> 復(fù)制 </a>
二、打開dede/js/list.js 找到
unction moveArc(e, obj, cid)
在它的上方添加這個(gè)函數(shù)
function copyArc(e, obj, cid){
var qstr=getCheckboxItem();
if(qstr=='')
{
alert('必須選擇一個(gè)或多個(gè)文檔!');
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')
在它的上方添加如下代碼:
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'>請(qǐng)選擇復(fù)制到的位置...</option>
$typeOptions
</select>";
//輸出AJAX可移動(dòng)窗體
$divname = 'copyArchives';
echo "<div class='title' onmousemove="DropMoveHand('{$divname}', 225);" onmousedown="DropStartHand();" onmouseup="DropStopHand();"> ";
echo " <div class='titLeft'>復(fù)制文檔</div> ";
echo " <div class='titRight'><img src='images/ico-close.gif' style='cursor:pointer;' onclick='HideObj("{$divname}");ChangeFullDiv("hide");' 關(guān)閉' title='關(guān)閉' /></div> ";
echo "</div> ";
echo "<form name='quickeditform' action='archives_do.php' method='post'> ";
echo "<input type='hidden' name='dopost' value='{$dopost}' /> ";
echo "<input type='hidden' name='qstr' value='{$qstr}' /> ";
echo "<table width='100%' style='margin-top:6px;z-index:9000;'> ";
?>
<tr height='28'>
<td width="80" class='bline'> 目標(biāo)欄目:</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/>
復(fù)制到的目標(biāo)欄目必須和選定的文檔頻道類型一致,否則程序會(huì)自動(dòng)勿略不符合的文檔。
</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窗體結(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 `dede_arctype` tp LEFT JOIN `dede_channeltype` ch on ch.id=tp.channeltype WHERE tp.id='$totype' ");
$idtype = "id";
if (!is_array($typeInfos)) {
ShowMsg('參數(shù)錯(cuò)誤!', '-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);
//導(dǎo)入普通模型微數(shù)據(jù)
$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);
//導(dǎo)入單表模型微數(shù)據(jù)
$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("成功復(fù)制 $j 個(gè)文檔!", $ENV_GOBACK_URL);
exit();
}
}
實(shí)現(xiàn)效果如圖:

以上就是關(guān)于【織夢(mèng)網(wǎng)站后臺(tái)增加復(fù)制文章文檔到其他欄目的功能】的文章內(nèi)容,如果您還想了解更多關(guān)于網(wǎng)站建設(shè)與網(wǎng)絡(luò)推廣的相關(guān)文章,請(qǐng)繼續(xù)查看【織夢(mèng)教程】欄目的其它文章
來(lái)源www.slgqxb.com.cn廣州明行威,致力于中小企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、整體外包運(yùn)營(yíng)(網(wǎng)站建設(shè)、SEM、SEO等)、企業(yè)SEO內(nèi)訓(xùn)、信息流廣告運(yùn)營(yíng)
歡迎交流 加微信13430336474 廣州張楷

上一篇:織夢(mèng)DEDE列表分頁(yè)如何轉(zhuǎn)換英文 下一篇:織夢(mèng)搜索結(jié)果頁(yè)面的分頁(yè)修改樣式或改成英文方法