详解DedeCMS v5.7 定时自动更新首页的方法

  • 时间:
  • 浏览:19
作者:匿名 hihi 来源:薛雷雷博客 浏览: 2012-5-23 11:51:29 字号:大 中 小

[摘要]网站首页更新快有益于SEO网站优化,但是 DedeCMS一种生活生活是不能自动更新首页的,机会有调用了随机文章,又想客户每次刷新显示的不一样,就要用自动更新首页这个 功能。本文详解DedeCMS v5.7 定时自动更新首页妙招:

  研究怎样才能让DEDECMS首页自动更新,而不能每次就有点击生成。亲戚亲戚人们人们 都知道,网站首页更新快是有益于SEO网站优化的,也还不能让百度快照更新的好很多,但是 DEDECMS一种生活生活是不能自动更新首页的,机会有调用了随机文章,又想客户每次刷新显示的不一样。就要用自动更新首页这个 功能。

  首页亲戚亲戚人们人们 去掉 随机调用文章,不然自动更新首页就没意义了。我不在 乎 随机文章为什么我调用的还不能参照下面代码,熟悉的直接进入下一步。

{dede:arclist sort=’rand’ titlelen=32 row=10}

<li><a href=”[field:arcurl/]” target=”_blank”>[field:title/]</a></li>

{/dede:arclist}

  去掉 完随机文章后,首页机会是动态一段话,每次刷新就应该有变化的,但是 首页机会是静态的就要在改东西了。下面来亲戚亲戚人们人们 更改很多文件,让dedecms自动生成首页:

  亲戚亲戚人们人们 为了方便,把功能集成到DEDECMS的后台,方便事先设置

  涉及的文件如下:

  /dede/makehtml_homepage.php

  /dede/templets/makehtml_homepage.html

  首先给表(`#@__homepageset`)增加一个多多字段automaketime

  亲戚亲戚人们人们 到后台SQL命令行工具,执行下面一句

ALTER TABLE `#@__homepageset` ADD `automaketime` INT( 150 ) NOT NULL DEFAULT ’31500′ AFTER `position`;

  把下面的代码克隆qq好友好友下来新建一个多多文本文档粘贴进去,但是 把文件名改为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");

function sp_input( $text )



{

$text = trim( $text );

$text = htmlspecialchars( $text );

if (!get_magic_quotes_gpc())

return addslashes( $text );

else

return $text;

}

$row = $dsql->GetOne("Select * From `#@__homepageset`");



$dsql->Close();

$templet=$row['templet']; //这里从数据库顶端读取首页模板位置

$position=$row['position'];

$autotime = $row['automaketime'];//从数据库顶端读取自动更新时间,单位为秒。

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

{

$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\n");

fwrite( $file,"\$last_time=".time().";\n");

fwrite( $file, '?>' );

fclose( $file );

}

?>

  自动更新首页的多多线程 文件亲戚亲戚人们人们 机会写好了。装进 plus目录就还不能了,待会亲戚亲戚人们人们 还不能调用。

  下面亲戚亲戚人们人们 把它集成到后台:

  打开/dede/makehtml_homepage.php

  相当于在36行找到:

$iquery = "UPDATE `#@__homepageset` SET templet='$templet',position='$position'";

  改成:

$iquery = "UPDATE `#@__homepageset` SET templet='$templet',position='$position',automaketime='$automaketime' ";

  但是 保存。

  打开/dede/templets/makehtml_homepage.html

  相当于在46行找到:

    <tr>

      <td height="20" valign="top" bgcolor="#FFFFFF">主页位置:</td>

      <td height="20" valign="top" bgcolor="#FFFFFF"><input name="position" type="text" id="position" value="<?php echo $row['position']?>" size="150">

      </td>

    </tr>

  在其下面增加这个 段

    <tr>

      <td height="20" valign="top" bgcolor="#FFFFFF">主页自动生成间隔时间:</td>

      <td height="20" valign="top" bgcolor="#FFFFFF"><input name="automaketime" type="text" id="automaketime" value="<?php echo $row['automaketime']?>" size="150"> (秒)

      </td>

    </tr>

  但是 保存。

  现在打开你的模版首页。在顶端增加这段JS

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

  到后台生成下首页就行了。后台是还不能设置首页自动更新时间的,以秒为单位。

  附上115网盘的下载地址吧:http://115.com/file/dpk8d107

  放心按照以上步骤一步一步来,绝对是这样问题图片的。

  原文地址:http://www.xueleilei.com/internet/705.html

sssss
Tags: DedeCMS   定时自动更新   DedeCMS定时更新   DedeCMS自动更新  
责任编辑:qjt198895