加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

DedeCMS首页调用随机文章定时自动更新的方法

发布时间:2020-12-14 04:07:01 所属栏目:Dedecms 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 网站首页内容的更新频率直接决定了网站的收录速度和站点权重,这就需要网站首页内容随时更新,但是我们有时候不可能随时的自己去手动更新,这时候,我

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

网站首页内容的更新频率直接决定了网站的收录速度和站点权重,这就需要网站首页内容随时更新,但是我们有时候不可能随时的自己去手动更新,这时候,我们就可以给 dedecms 设置一下首页自动更新,没错,没错就是自动更新,全自动更新首页的文章列表。设置自动更新首页的具体操作方法如下:

第 1 步

在首页模板里面添加随机文章调用标签,在这里给大家解释一下为什么要添加随机文章调用标签呢?因为随机调用标签会在每次刷新时调用不同的文章内容,就相当于每次刷新首页都有新内容展示出来,就算是网站文章没有增加也可以。而如果只是普通的文章调用标签,并且在网站内容文章没有增加的情况下刷新首页是不会出现新内容的。具体调用代码如下:

{dede:arclist sort=’rand’ titlelen=48 row=16}

<li><a href="[field:arcurl/]" title="[field:title/]" target="_blank" rel="noopener noreferrer">[field:title/]</a></li>

{/dede:arclist}

面这段列表代码可以调用出随机文章,并且在每次刷新动态页面的时候都会变化,但是由于织梦是首页生成静态 html 的,所以如果不去手动生成还是不会变化,这样就用到了下面的方法。

第 2 步

设置定时自动更新文件,复制下面代码,粘贴到一个新文件中,命名为:autoindex.php,上传到网站根目录的 plus 文件夹中。

<?php

function sp_input( $text )

{

$text = trim( $text );

$text = htmlspecialchars( $text );

if (!get_magic_quotes_gpc())

return addslashes( $text );

else

return $text;

}

$autotime = 3600;//自动更新时间,单位为秒,这里我设为一小时,大家可以自行更改。

$fpath = "../data/last_time.inc";//记录更新时间文件,如果不能达到目的,请检查是否有读取权限。

include( $fpath );

if( empty($last_time))

$last_time = 0;

if( sp_input($_GET['renew'])=="now")

$last_time = 0;

if((time()-$last_time)>=$autotime )

{

define('DEDEADMIN',ereg_replace("[/]{1,}",'/',dirname(__FILE__) ) );

require_once(DEDEADMIN."/../include/common.inc.php");

require_once(DEDEINC."/arc.partview.class.php");

/*

$row = $dsql->GetOne("Select * From dede_homepageset");

$dsql->Close();

$templet=$row['templet'];

$position=$row['position'];

*/

$templet = “tnbjh/index.htm”;//这里是首页模板位置,当前是dede默认首面位置。

$position = "../index.html";

$homeFile = dirname(__FILE__)."/".$position;

$homeFile = str_replace("","/",$homeFile );

$homeFile = str_replace( "//",$homeFile );

$pv = new PartView();

$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 );

}

?>

然后我们需要在首页的模版代码 head 标签中引入下面这段代码,也就是引入这个 php 文件:

<script src="/plus/autoindex.php" language="javascript"></script>

完成以上步骤后在后台点击生成-更新首页。这样就能实现首页内容定时自动更新了,一定要看清楚上面的注释,时间是以秒为单位的,默认 3600 秒是一小时,大家可以自行更改。

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读