分享:织梦dede定时更新首页生成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}

但是随着织梦生成文件,似乎这个动态调用代码不是那么管用,为了实现随时间更新的效果,织梦人站长之家给出了详细的设置方法:复制下面代码,粘贴到一个新文件中,命名为:autoindex.php,上传到ftp的plus文件夹中,看清楚一点是plus文件夹中,错了位置不会生效: 

 
01 <?php
02    function sp_input( $text )
03   {
04   $text = trim( $text );
05   $text = htmlspecialchars( $text );
06   if (!get_magic_quotes_gpc())
07   return addslashes( $text );
08   else
09   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;  if((time()-$last_time)>=$autotime )
18   {
19   define('DEDEADMIN', ereg_replace("[/\\]{1,}",'/',dirname(__FILE__) ) );
20   require_once(DEDEADMIN."/../include/common.inc.php");
21   require_once(DEDEINC."/arc.partview.class.php");
22   /*  $row = $dsql->GetOne("Select * From dede_homepageset");
23   $dsql->Close();
24   $templet=$row['templet'];
25   $position=$row['position'];
26   */
27   $templet = “default/index.htm”;//这里是首页<U><A href="http://www.zuola.net" target=_blank>模板</A></U>位置,当前是dede默认首面位置。
28   $position = "../index.html";
29   $homeFile = dirname(__FILE__)."/".$position;
30   $homeFile = str_replace("\\", "/", $homeFile );
31   $homeFile = str_replace( "//", "/", $homeFile );
32   $pv = new PartView();
33   $pv ->SetTemplet( $cfg_basedir.$cfg_templets_dir."/".$templet );
34   $pv -> SaveToHtml( $homeFile );
35   $pv -> Close();
36   $file = fopen( $fpath, "w");
37   fwrite( $file, "<?php\n");
38   fwrite( $file,"\$last_time=".time().";\n");
39   fwrite( $file, '?>' );  fclose( $file );
40   }
41 ?>

然后我们需要在首页的模版代码head标签中加入一段代码:

 
1 <script src="/plus/autoindex.php" type="text/javascript"></script>

然后点击后台生成,更新首页。
接下来后等待时间的验证结果