前段时间听说贵站在进行SEO,今天没事来看看,发现用上了DEDE~!那我就发个DEDE二次开发的原创,内容适合最新的DEDECMS V55_GBK 。
很多研究SEO的个人站长都是使用采集来添加大部分文章的,如果手动每天大量更新伪原创内容,呼~~ 是一个不小的工程!举个例子,拿我个人的站来说 www.cf345.com 总共10个分类,每天要更新大概80篇的文章。( - -|| 这里都是在说废话!)
开始说重点,DEDE有一个缺点,就是文章在导入到待审核里以后审核出来的时间就是导入的时间。这个是非常不方便的,我每天都要更新很多文章,总不可能每篇都去重新修改日期吧~ 囧死!不知道DEDE作者在想什么........ 我需要的就是点审核后文章立即按照审核的时间更新出来,这样才是完美的!
到管理文件夹下(就是默认DEDE文件夹)找到archives_do.php,打开以后找到审核文章的代码,进行分析。
代码如下:
$maintable = ( trim($row['maintable'])=='' ? 'dede_archives' : trim($row['maintable']) );
$dsql->ExecuteNoneQuery("Update `dede_arctiny` set arcrank='0' where id='$aid' ");
if($row['issystem']==-1)
{
$dsql->ExecuteNoneQuery("Update `".trim($row['addtable'])."` set arcrank='0' where aid='$aid' ");
}
else
{
$dsql->ExecuteNoneQuery("Update `$maintable` set arcrank='0', dutyadmin='".$cuserLogin->getUserID()."' where id='$aid' ");
}
$pageurl = MakeArt($aid,false);
}
ShowMsg("成功审核指定的文档!",$ENV_GOBACK_URL);
exit();
}
看到以上代码可以了解到文章审核后的时间根本没有去定义,也就是说文章默认什么时间就是什么时间的。我们应该增加一个时间函数来定义审核后的时间,这样才可以做到同步更新
新增$newdate来定义时间。修改代码如下
代码如下:
$maintable = ( trim($row['maintable'])=='' ? 'dede_archives' : trim($row['maintable']) );
$newdate = time();
$dsql->ExecuteNoneQuery("Update `dede_arctiny` set sortrank='$newdate',senddate='$newdate',arcrank='0' where id='$aid' ");
if($row['issystem']==-1)
{
$dsql->ExecuteNoneQuery("Update `".trim($row['addtable'])."` set sortrank='$newdate',pubdate='$newdate',senddate='$newdate',arcrank='0' where aid='$aid' ");
}
else
{
$dsql->ExecuteNoneQuery("Update `$maintable` set sortrank='$newdate',pubdate='$newdate',senddate='$newdate',arcrank='0' where id='$aid' ");
}
$pageurl = MakeArt($aid,false);
}
ShowMsg("成功审核指定的文档!",$ENV_GOBACK_URL);
exit();
}
这样修改后只要点审核,文章则取系统时间为文章发布时间更新出去。