本文介绍了dedecms中批量更新文章时间的实现方法,dedecms 5.7 SP1中批量更新文章发布时间,找到dede目录下的archives_do.php文件,在审核文档函数的前面增加updatetime函数即可。
在dedecms中修改了内容保存之后,会自动更新文章的发布时间,只是当需要批量审核文章时,才会发现文章的时间还是发布的时间,这样对用户以及搜索引擎都是非常不利的。
可以制作一个更新时间的按钮,可以批量更新文章的发布时间。
具体的实现方法:
首先,在后台目录中找到后台的模板文件夹,默认是在dede文件夹下的templets文件夹中。
本次修改的系统模板主要有四个 content_i_list.htm,content_s_list.htm,content_sg_list.htm,以及dede文件夹js目录下 的list.js文件;
在每个文件的后面都增加以下代码段:
复制代码 代码示例:
function updatetime(aid){
var qstr=getCheckboxItem();
if(aid==0) aid = getOneItem();
location=“archives_do.php?aid=”+aid+“&dopost=updatetime&qstr=”+qstr;
}
<a href=“javascript:updatetime(0)”class=“coolbg”>更新时间a>
然后,找到dede目录下的archives_do.php文件,在审核文档函数的前面增加updatetime函数即可。
updatetime函数的代码:
复制代码 代码示例:
elseif($dopost==‘updatetime’)
{
$pubdate =GetMkTime(GetDateTimeMk(time()));
$senddate = time();
$sortrank =AddDay($pubdate,$sortup);
if(!empty($aid)&& empty($qstr))
{
$qstr = $aid;
}
if($qstr==‘’)
{
ShowMsg(“参数无效!”,$ENV_GOBACK_URL);
exit();
}
$qstrs = ereg_replace(‘[^0-9,]’,‘’,ereg_replace(‘`’,‘,’,$qstr));
$hghsql=“Update `#@__archives` set `pubdate`=‘$pubdate’,`senddate`=‘$senddate’,`sortrank`=‘$sortrank’ where id in ($qstrs) ”;
//echo $senddate.“
”.$hghsql;exit();
if(!$dsql->ExecuteNoneQuery($hghsql)){
$gerr = $dsql->GetError();
ShowMsg(“把数据保存到数据库主表 `#@__archives` 时出错,请把相关信息提交给DedeCms官方。”.str_replace(‘“’,‘’,$gerr),”javascript:;“);
exit();
}else{ShowMsg(”成功更新指定文件。..“,$ENV_GOBACK_URL);exit();}
}
以上的方法只适合dedecms5.7sp1,对于5.6及以前的版本,需要修改content_list.htm文件。
现在可以对织梦未审核的文章进行批量更新时间了。