Skip to main content
 首页 » 程序教程

dedecms5.7SP1后台增加更新文章时间按钮

2014年01月02日34330

织梦的采集是比较方便的,另外也可以用诸如火车头、ET这样的采集软件,但是一般采集到网站的文章,都不会马上就发表出去,这样一方面可以对文章进行伪原创增加文章的质量和用户体验;另一方面也方便网站安排内容更新。一般如果是手工修改的话,你修改了内容保存之后,织梦就会自动更新文章的发布时间,只是当你需要批量审核文章的时候,才会发现文章的时间还是你发布的时间,这样对用户以及搜索引擎都是非常不利的。No牛网做一个美女站的时候碰到了这样的问题,弄了个更新时间的按钮,可以批量更新文章的发布时间。下面就是具体的实现方法:

首先在后台目录中找到后台的模板文件夹,默认是在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="https://www.noniu.com/jiaocheng/javascript:updatetime(0)" class="coolbg" data_ue_src="https://www.noniu.com/jiaocheng/javascript:updatetime(0)"> 更新时间 </a>

然后找到dede目录下的archives_do.php文件,在审核文档函数的前面增加updatetime函数即可。updatetime函数的代码如下:

else if($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 `dede_archives` set `pubdate`='$pubdate',`senddate`='$senddate',`sortrank`='$sortrank' where id in ($qstrs) ";      //echo $senddate."<br>".$hghsql;exit();if(!$dsql->ExecuteNoneQuery($hghsql)){$gerr = $dsql->GetError();ShowMsg("把数据保存到数据库主表 `dede_archives` 时出错,请把相关信息提交给DedeCms官方。".str_replace('"','',$gerr),"javascript:;");exit();}else{ShowMsg("成功更新指定文件...",$ENV_GOBACK_URL);exit();}}

以上的方法只适合dedecms5.7sp1,对于5.6及以前的版本,需要修改content_list.htm文件。好了,现在你可以方便的对织梦未审核的文章进行批量更新时间了。为了方便下新手,No牛网还是把已经修改好的代码打包好,需要的话就下载试试,特别强调下哦,一定要先备份哦。

评论列表暂无评论
发表评论