欢迎来到站长俱乐部!

织梦dedeCMSv5.7设置定时自动更新首页的方法

更新时间:2023-09-27 17:31 来源:admin

因为dedeCMS本身是不能自动更新首页,所以今天跟大家分享一下织梦dedeCMSv5.7设置定时自动更新首页的方法,不然我们每次都要点击生成一下,很是麻烦。 

如果咱们的网站首页调用了随机文章的显示,又想访客每次刷新显示的内容不一样,这个时候我们就需要用自动更新首页这个功能了。 

我们需要在首页加上随机调用文章,不然自动更新首页就没什么意义了。 

 不知道随机文章怎么调用的站长可以参照下面的代码。

{dede:arclistsort=’rand’titlelen=32row=10}  
    <li><ahref=”[field:arcurl/]”target=”_blank”>[field:title/]</a></li>  
{/dede:arclist}  

添加完随机文章后,首页如果是动态的话,每次刷新就肯定会有变化的,但是首页如果是静态的就要再改东西了。 

 下面我们来更改一些文件,让dedecms可以自动生成首页。我们为了方便,把功能集成到DEDECMS的后台,方便以后设置涉及的文件如下:

/dede/makehtml_homepage.php/dede/templets/makehtml_homepage.html

首先给表(`dede_homepageset`)增加一个字段automaketime我们到后台SQL命令行工具,

执行下面一句

ALTERTABLE`dede_homepageset`ADD`automaketime`INT(30)NOTNULLDEFAULT’3600′AFTER`position`;

把下面的代码复制下来新建一个文本文档粘贴进去,然后把文件名改为auto_create_indexhtml.php,

我们把这个文件上传到网站的/plus/目录。 

<?php   
define('DEDEADMIN',ereg_replace("[/]{1,}",'/',dirname(__FILE__)));  
require_once(DEDEADMIN."/../include/common.inc.php");  
require_once(DEDEINC."/arc.partview.class.php");  
functionsp_input($text){$text=trim($text);  
$text=htmlspecialchars($text);  
if(!get_magic_quotes_gpc())returnaddslashes($text);elsereturn$text;}  
$row=$dsql->GetOne("Select*From`dede_homepageset`");  
$dsql->Close();  
$templet=$row['templet'];  
//这里从数据库里面读取首页模板位置  
$position=$row['position'];  
$autotime=$row['automaketime'];  
//从数据库里面读取自动更新时间,单位为秒。   
 $fpath="../data/last_time.inc";  
//记录更新时间文件,如果不能达到目的,请检查是否有读取权限。   
 include($fpath);  
    if(emptyempty($last_time))  
    $last_time=0;  
    if(sp_input($_GET['renew'])=="now")  
    $last_time=0;  
    if((time()-$last_time)>=$autotime){  
    $homeFile=dirname(__FILE__)."/".$position;  
    $homeFile=str_replace("","/",$homeFile);  
    $homeFile=str_replace("//","/",$homeFile);  
    $pv=newPartView();  
    $pv->SetTemplet($cfg_basedir.$cfg_templets_dir."/".$templet);  
    $pv->SaveToHtml($homeFile);  
    $pv->Close();$file=fopen($fpath,"w");  
    fwrite($file,"<?php
");  
    fwrite($file,"$last_time=".time().";
");  
    fwrite($file,'?>');  
    fclose($file);}  
?>  

自动更新首页的程序文件我们已经写好了。 

 放到plus目录就可以了,一会儿我们还要调用。 

 下面我们把它集成到后台:打开/dede/makehtml_homepage.php

大概在36行找到:

$iquery="UPDATE`dede_homepageset`SETtemplet='$templet',position='$position'";  
改成:  
$iquery="UPDATE`dede_homepageset`SETtemplet='$templet',position='$position',automaketime='$automaketime'";  

然后保存。 

 打开/dede/templets/makehtml_homepage.html大概在46行找到:

<tr>  
<tdheighttdheight="20"valign="top"bgcolor="#FFFFFF">主页位置:</td>  
<tdheighttdheight="20"valign="top"bgcolor="#FFFFFF">  
<inputnameinputname="position"type="text"id="position"value="<?phpecho$row['position']?>"size="30"></td>  
</tr>  
在其下面增加这一段  
<tr>  
<tdheighttdheight="20"valign="top"bgcolor="#FFFFFF">主页自动生成间隔时间:</td>  
<tdheighttdheight="20"valign="top"bgcolor="#FFFFFF">  
<inputnameinputname="automaketime"type="text"id="automaketime"value="<?phpecho$row['automaketime']?>"size="30">(秒)  
</td>  
</tr>  

然后保存。 现在打开你的模版首页。 在中间增加下面这段JS代码。

<scriptsrc=”{dede:global.cfg_cmspath/}/plus/auto_create_indexhtml.php”language=”javascript”></script>  

大家到后台生成下首页就OK了。

后台是可以设置首页自动更新时间的,以秒为单位的。

以上就是我为大家分享的织梦dedeCMSv5.7设置定时自动更新首页的方法,希望以上内容对大家建站有所帮助。

AD:买vps主机,看测评文章,来玮哥主机测评网:www.weigeceping.com