找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 131|回复: 0

[cms教程] DedeCMS织梦定时生成主页HTML的实现方法

[复制链接]

该用户从未签到

发表于 2020-2-8 10:33:47 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
今天我们介绍下织梦(dedecms)系统完整自动更新主页方法,现在分享给大家学习参考,跟着小编一起学习把。之前我们也介绍了dedecms让编辑文档也能自动更新主页和列表页,更多的织梦dedecms教程。
         
        织梦自动更新主页适用场景:
        1:采集站点可以适用此功能,省去了人工生成,节省时间。
         
        2:懒人专用,逼格更上一个层次。
         
        织梦DedeCMS自动生成首页html,具体方法如下:
        第一步、需要在首页调用随机文章,这样每次自动更新才会有更新的效果,随机文章调用标签如下:
         
        {dede:arclist sort='rand' titlelen=48 row=16}
        [*,[url=,[field:title/,[/url]
        {/dede:arclist}
         
        这段代码调用出的文章在每次自动生成首页的时候都会变化。
         
        第二步、写一个触发定时自动更新的php文件:
        复制下面代码,粘贴到一个新文件中,命名为:autoindex.php,上传到ftp的plus文件夹中,看清楚一点是plus文件夹中,错了位置不会生效:
         
         
       
        function sp_input( $text )
        {
        $text = trim( $text );
        $text = htmlspecialchars( $text );
        if (!get_magic_quotes_gpc())
        return addslashes( $text );
        else
        return $text;
        }
        $autotime = 10800;//自动更新时间,单位为秒
        $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 = “downpk/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, "
        fwrite( $file,"\$last_time=".time().";\n");
        fwrite( $file, '?>' );
        fclose( $file );
        }
        ?>
         
        第三步、在首页的模版代码head标签中引入触发文件代码:
         
       
        然后手动更新一下首页,接下来在设置的时间过了以后如果有用户访问首页就会触发自动更新文件,首页就会自动更新一次。
         
        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-7 00:20

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表