使用dedecms建站,如何自动更新首页呢?默认是将所有的页面生成静态HTML文件,对于详情页和栏目等内页,可以在网站后台设置发布文章后自动更新栏目、上下篇等,但是这个有点问题:就是当你的网站是一个个人站或者不是那种每天都能保证可以发新文章的网站,这时候自动更新网站的首页就显得比较重要了。
实现方法是首先在您的网站根目录创建一个名称为“autoindex.php”的文件,然后打开这个autoindex.php文件,在里面输入以下代码:
<?php$lasttime=filemtime($_SERVER[‘DOCUMENT_ROOT’].”/index.html”);$interval=84600; //更新时间秒为单位1800秒=30分钟$bdnum=1;//上面设置的时间自动审查生成HTML条数if((time()-$lasttime)>$interval){require_once (dirname(__FILE__) . “/include/common.inc.php”);require_once DEDEINC.”/arc.partview.class.php”;$GLOBALS[‘_arclistEnv’] = ‘index’;$row = $dsql->GetOne(“Select * From `#@__homepageset`”);$row[‘templet’] = MfTemplet($row[‘templet’]);$pv = new PartView();$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . “/” . $row[‘templet’]);$pv->SaveToHtml(dirname(__FILE__).’/index.html’);exit();}?>
上面代码中的数字84600是一天,也就是间隔时间是24小时,默认已经设置好,拿过去直接使用就行。因为自动更新首页只要保证每天dedecms系统都会自己重新生成首页index.html这个文件就行。
dedecms自动更新
其次是首页的模板文件里面要有rand这个函数,也就是我们在制作模板的时候要使用类似
{dede:arclist titlelen=’255′ row=’48’ orderby=’rand’ typeid=’1,72,107,177,247,251,254,258′}
其中的orderby=’rand’就是随机调用,如果你的首页模板里面使用的是按照更新时间来排序,那么这个自动更新之后页面是不会有任何变化的,除非你新发布了文章。
打开 empletsdefaultindex.htm文件,在这个首页文件的</body>前面一行添加下面的这个js代码:
<script language=”JavaScript” type=”text/javascript” src=”/autoindex.php” language=”javascript”></script>
保存之后,你的网站就能实现自动更新了。
可能有的人会问为什么不使用{dede:include filename=”footer.htm”/} 这种方式来引用自动更新文件?原因是为了更好的SEO优化,这个文件不需要被搜索引擎索引,所以直接js的方式更干脆利落。
|