因为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设置定时自动更新首页的方法,希望以上内容对大家建站有所帮助。
相关文章
- 安装dedecms时出现:“/templets/default/index.htm Not Found!” 怎么办?
- 织梦dedecms在哪里开启或关闭水印功能?
- 搭建好的dedeCMS如何查看MySQL版本号?
- 使用dedecms时如何查看自己环境的php版本号?
- 如何查看自己使用的织梦dedeCMS版本号?
- 织梦dedecms调用当前栏目名的代码和调用上级栏目名的代码
- 织梦dedecms安装模板或数据还原后后台出现乱码的原因
- 安装织梦dedeCMS时提示“dede”目录没有读写权限怎么办?
- 织梦dedecm提示错误:连接数据库失败,可能数据库密码不对或数据库服务器出错
- 织梦dedecms生成当前时间的代码是什么?
- 织梦dedecms如何重新安装?
- 织梦dedeCMS怎么改logo图片?
- 织梦dedeCMS提示你的用户名不存在的解决方法
- 织梦dedeCMS备份的数据库文件在哪里存放?
- 织梦dedeCMS数据库配置文件在哪里?
- 织梦dedecms内容页调用文章缩略图的方法
- 织梦dedeCMS后台密码忘记了怎么办?怎么重置密码?
- 如何在织梦dedeCMS搜索页面调用自定义字段?
- 织梦dedeCMS系统收费吗?
- 织梦dedeCMS文章模板中的相关文章调用标签代码是什么