SASAOO

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 37|回复: 0

DedeCMS首页定时自动更新的实现方法

[复制链接]

22

主题

28

帖子

112

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
112
发表于 2019-6-30 22:53:55 | 显示全部楼层 |阅读模式
首先,创建一个新的名为task_index.php的PHP文件,代码如下:

  1. <?php
  2. $lasttime=filemtime($_SERVER['DOCUMENT_ROOT']."/index.html");
  3. $interval=3600; //更新时间秒为单位1800秒=30分钟
  4. $bdnum=1;//上面设置的时间自动审查生成HTML条数
  5. if((time()-$lasttime)>$interval)
  6. {
  7.   require_once (dirname(__FILE__) . "/include/common.inc.php");
  8.   require_once DEDEINC."/arc.partview.class.php";
  9.   $GLOBALS['_arclistEnv'] = 'index';
  10.   $row = $dsql->GetOne("Select * From `dede_homepageset`");
  11.   $row['templet'] = MfTemplet($row['templet']);
  12.   $pv = new PartView();
  13.   $pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
  14.   $pv->SaveToHtml(dirname(__FILE__).'/index.html');
  15.   exit();
  16. }
  17. ?>
复制代码


将这个PHP文件上传到我们网站的根目录,然后在自己的网站博客的首页模版(一般为index.htm)的head部分加入以下代码:

  1. <!--定时更新-->
  2. <script language="javascript" src="/task_index.php"></script>
复制代码

上传完成后,更新首页,这样就实现了定时自动更新首页。如果你的网站首页文章列表里没有随机调用的文章,加上自动更新功能是看不出来有效果的,唯有到网站根目录里才可以看到index.html的生成时间来判断更新的时间,SASAOO资源网建议可以在某些位置加上一段随机文章列表推荐代码:

  1. {dede:arclist row="9" sort="rand" typeid="1" titlelen="40"}
  2. <li><a href="[field:arcurl/]" title="[field:fulltitle/]">[field:title /]</a></li>
  3. {/dede:arclist}
复制代码

这样就可以在自己设置的更新时间后查看下效果。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|SASAOO.

GMT+8, 2019-7-24 17:16 , Processed in 0.093750 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表