1. 首页 > CMS系统 > DEDECMS

dedecms 二次开发之审核时间同步更新

很多研究SEO的个人站长都是使用采集来添加大部分文章的,如果手动每天大量更新伪原创内容,呼~~ 是一个不小的工程!举个例子,一个网站总共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(); 


这样修改后只要点审核,文章则取系统时间为文章发布时间更新出去。

 

从幻灯片的源码中可以看出本放灯片的所有图片、title、描述都是固定的,不能灵活调用。如果要实现灵活调用,我们就必须要用到DEDE的调用标签,这里Zero使用了dede:arclist标签实现了调用。不过在调用时我们需要注意以下几点: 
1、###分隔,由于最后一条数据结尾不需要###分隔,因此1-4条和最后一条需要分开处理。这里Zero采用limit标签实现,limit标签在以后接触mysql数据库时会详细介绍。 
2、两条数据中间不能有空格,也就是说images/01.jpg###images/02.jpg这样的两条数据之间是不能允许有空格和换行的,如果有则不能运行。而arclist调用数据时会自动出现空格和换行,那么怎么办呢?修改arclist.lib.php文件413行中的$artlist .= $dtp2->GetResult().”\r\n”;修改为:$artlist .= $dtp2->GetResult()。(当然通过调整JS也可以达到同样的效果,但是目前Zero对于JS还不够熟悉因此只能通过修改DEDECMS源码来实现) 
3、幻灯片中的title标签里不能出现修饰性代码,比如“Zero的php博客-零基础PHP教程 ”。如果出现这类标签在JS文件中,将不能被解释。因此我们需要格式化html文件,因此在title调用一栏中Zero使用了[field:title function='html2text(@me)'/]标签调用。 

好了到这里一个能在DEDECMS里自动调用图片、title、描述的幻灯片就调试完毕了。 

本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/dedecms/3234.html

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:8:30-17:30,节假日休息