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

  • 时间:
  • 浏览:0
  • 来源:大发快三_快三套路_大发快三套路
作者:匿名 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( 300 ) NOT NULL DEFAULT ’33000′ 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");

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="300">

      </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="300"> (秒)

      </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