织梦dedecms定时自动生成首页HTML的实现方法

[复制链接]
树苗收集系 发表于 2019-11-23 21:25:51 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
只需要制作一个文件然后在首页模板添加一句代码就可以实现让织梦DedeCMS自动生成首页html,具体方法如下:

第一步、需要在首页调用随机文章,这样每次自动更新才会有更新的效果,随机文章调用标签如下:
  1. {dede:arclist sort='rand' titlelen=48 row=16}
  2. <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li>
  3. {/dede:arclist}
复制代码
这段代码调用出的文章在每次自动生成首页的时候都会变化。

第二步、写一个触发定时自动更新的php文件:

复制下面代码,粘贴到一个新文件中,命名为:autoindex.php,上传到ftp的plus文件夹中,看清楚一点是plus文件夹中,错了位置不会生效:
  1. <?php
  2. function sp_input( $text )
  3. {
  4. $text = trim( $text );
  5. $text = htmlspecialchars( $text );
  6. if (!get_magic_quotes_gpc())
  7. return addslashes( $text );
  8. else
  9. return $text;
  10. }
  11. $autotime = 10800;//自动更新时间,单位为秒
  12. $fpath = "../data/last_time.inc";//记录更新时间文件,如果不能达到目的,请检查是否有读取权限。
  13. include( $fpath );
  14. if( empty($last_time))
  15. $last_time = 0;
  16. if( sp_input($_GET['renew'])=="now")
  17. $last_time = 0;
  18. if((time()-$last_time)>=$autotime )
  19. {
  20. define('DEDEADMIN', ereg_replace("[/\\]{1,}",'/',dirname(__FILE__) ) );
  21. require_once(DEDEADMIN."/../include/common.inc.php");
  22. require_once(DEDEINC."/arc.partview.class.php");
  23. /*
  24. $row = $dsql->GetOne("Select * From dede_homepageset");
  25. $dsql->Close();
  26. $templet=$row['templet'];
  27. $position=$row['position'];
  28. */
  29. $templet = “downpk/index.htm”;//这里是首页模板位置,当前是dede默认首面位置。
  30. $position = "../index.html";
  31. $homeFile = dirname(__FILE__)."/".$position;
  32. $homeFile = str_replace("\", "/", $homeFile );
  33. $homeFile = str_replace( "//", "/", $homeFile );
  34. $pv = new PartView();
  35. $pv ->SetTemplet( $cfg_basedir.$cfg_templets_dir."/".$templet );
  36. $pv -> SaveToHtml( $homeFile );
  37. $pv -> Close();
  38. $file = fopen( $fpath, "w");
  39. fwrite( $file, "<?php\n");
  40. fwrite( $file,"\$last_time=".time().";\n");
  41. fwrite( $file, '?>' );
  42. fclose( $file );
  43. }
  44. ?>
复制代码
第三步、在首页的模版代码head标签中引入触发文件代码:
  1. <script src="/plus/autoindex.php" type="text/javascript"></script>
复制代码
然后手动更新一下首页,接下来在设置的时间过了以后如果有用户访问首页就会触发自动更新文件,首页就会自动更新一次。

回复

使用道具 举报

发布主题
推荐阅读 更多
阅读排行 更多
广告位
全国统一客服电话
400-1234-5678

24x7小时免费咨询

  • 官方在线客服

    QQ客服:小西

    点击交谈

    QQ客服:良子

    点击交谈

    QQ客服:闵月

    点击交谈
  • 安徽省合肥市高新区创新产业园

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信

    加入官方微信群