织梦(dedecms)定时更新首页的方法

怎么让织梦(dedecms)自己按照一定的时间自动更新首页呢?小鱼儿博客园在这分享给大家!
第一步调用随机文章
织梦给出了随机文章调用的参数如下:
{dede:arclist sort='rand' titlelen=48 row=16}
<li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li>
{/dede:arclist}
这段列表代码可以调用出随机文章,并且在每次刷新动态页面的时候都会变化,但是由于织梦是首页生成静态html的,所以如果不去手动生成还是不会变化,这样就用到了下面的方法。

第二步设置定时自动更新文件
复制下面代码,粘贴到一个新文件中,命名为:dsindex.php,上传到ftp的plus文件夹中,看清楚一点是plus文件夹中,错了位置不会生效:
<?php function sp_input( $text ){$text = trim( $text );$text = htmlspecialchars( $text );if (!get_magic_quotes_gpc())return addslashes( $text );else return $text;}$autotime = 10800;//自动更新时间,单位为秒$fpath = "../data/last_time.inc";//记录更新时间文件,如果不能达到目的,请检查是否有读取权限。include( $fpath );if( empty($last_time))$last_time = 0;if( sp_input($_GET['renew'])=="now")$last_time = 0;if((time()-$last_time)>=$autotime ){define('DEDEADMIN', ereg_replace("[///]{1,}",'/',dirname(__FILE__) ) );require_once(DEDEADMIN."/../include/common.inc.php");require_once(DEDEINC."/arc.partview.class.php");/*$row = $dsql->GetOne("Select * From dede_homepageset");$dsql->Close();$templet=$row['templet'];$position=$row['position'];*/$templet = “default/index.htm”;//这里是首页<u>//<a href="http://www.wangjinhai119.com" target="_blank">//模板</a></u>位置,当前是dede默认首面位置。$position = "../index.html";$homeFile = dirname(__FILE__)."/".$position;$homeFile = str_replace("//", "/", $homeFile );$homeFile = str_replace( "//", "/", $homeFile );$pv = new PartView();$pv ->SetTemplet( $cfg_basedir.$cfg_templets_dir."/".$templet );$pv -> SaveToHtml( $homeFile );$pv -> Close();$file = fopen( $fpath, "w");fwrite( $file, "<?php/n");fwrite( $file,"/$last_time=".time().";/n");fwrite( $file, '?>' );fclose( $file );}?>
然后我们需要在首页的模版代码head标签中加入一段代码
<script src="/plus/autoindex.php" type="text/javascript"></script>
然后点击后台生成,更新首页。
然后试着发布一篇文章,不用生成首页,隔段时间发现这篇文章出现在首页啦!

支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论