源码

一、修改文件:\include\taglib目录下的channel.lib.php,请将以下代码全部复制替换上述文件<?phpfunctionlib_channel(&$ctag,&$refObj){global$_sys_globals,$envs,$dsql;$attlist="typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";FillAttsDefault($ctag->CAttribute->Items,$attlist);extract($ctag->CAttribute->Items,EXTR_SKIP);$innertext=$ctag->GetInnerText();$cacheid=trim($cacheid);if($cacheid!=''){$likeType=GetCacheBlock($cacheid);if($likeType!='')return$likeType;}$reid=0;$topid=0;if(empty($typeid)&&$envs['typeid']!=0){$typeid=$envs['typeid'];$reid=$envs['reid'];}else{$reid=0;}if($type==''||$type=='sun')$type="son";if($innertext=='')$innertext=GetSysTemplets("channel_list.htm");if($reid==0&&$typeid>0){$dbrow=$dsql->GetOne("SelectreidFromdede_arctypewhereid='$typeid'");if(is_array($dbrow))$reid=$dbrow['reid'];}$likeType='';if($type=='top'){$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFromdede_arctypewherereid=0Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="son"){//if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];if($typeid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFromdede_arctypewherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="self"){if($reid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$reid'Andishidden<>1orderbysortrankasclimit0,$row";}//Andid<>'$typeid'$needRel=false;$dtp2=newDedeTagParse();$dtp2->SetNameSpace("field","[","]");$dtp2->LoadSource($innertext);$dsql2=clone$dsql;$dsql->SetQuery($sql);$dsql->Execute();$line=$row;//检查是否有子栏目,并返回rel提示(用于二级菜单)if(ereg(':rel',$innertext))$needRel=true;if(empty($sql))return'';$dsql->SetQuery($sql);$dsql->Execute();$totalRow=$dsql->GetTotalRow();$GLOBALS['autoindex']=0;for($i=0;$i<$line;$i++){if($col>1)$likeType.="<dl>\r\n";for($j=0;$j<$col;$j++){if($col>1)$likeType.="<dd>\r\n";if($row=$dsql->GetArray()){$row['sonids']=$row['rel']='';if($needRel){$row['sonids']=GetSonIds($row['id'],0,false);if($row['sonids']=='')$row['rel']='';else$row['rel']="rel='dropmenu{$row['id']}'";}//处理同级栏目中,当前栏目的样式if(($row['id']==$typeid||($topid==$row['id']&&$type=='top'))&&$currentstyle!=''){if($currentstyle!=''){$linkOkstr=$currentstyle;$row['typelink']=GetOneTypeUrlA($row);$linkOkstr=str_replace("~rel~",$row['rel'],$linkOkstr);$linkOkstr=str_replace("~id~",$row['id'],$linkOkstr);$linkOkstr=str_replace("~typelink~",$row['typelink'],$linkOkstr);$linkOkstr=str_replace("~typename~",$row['typename'],$linkOkstr);$likeType.=$linkOkstr;}}else{$row['typelink']=$row['typeurl']=GetOneTypeUrlA($row);if(is_array($dtp2->CTags)){foreach($dtp2->CTagsas$tagid=>$ctag){if(isset($row[$ctag->GetName()])){$dtp2->Assign($tagid,$row[$ctag->GetName()]);}elseif(preg_match('/^sonchannel[0-9]*$/',$ctag->GetName())){$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));}}}$likeType.=$dtp2->GetResult();}}if($col>1)$likeType.="</dd>\r\n";$GLOBALS['autoindex']++;}//LoopColif($col>1){$i+=$col-1;$likeType.="</dl>\r\n";}}//Loopfor$ireset($dsql2);$dsql->FreeResult();return$likeType;}functionlib_channel_son($ctag,$typeid=0,$dsql2){$attlist="row|100,col|1,currentstyle|";FillAttsDefault($ctag->CAttribute->Items,$attlist);extract($ctag->CAttribute->Items,EXTR_SKIP);$innertext=$ctag->GetInnerText();$dsql3=clone$dsql2;$likeType='';//if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];if($typeid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFromdede_arctypewherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";//Andid<>'$typeid'$dtp2=newDedeTagParse();$dtp2->SetNameSpace("field","[","]");$dtp2->LoadSource($innertext);$dsql2->SetQuery($sql);$dsql2->Execute();$line=$row;for($i=0;$i<$line;$i++){if($col>1)$likeType.="<dl>\r\n";for($j=0;$j<$col;$j++){if($col>1)$likeType.="<dd>\r\n";if($row=$dsql2->GetArray()){$row['typelink']=$row['typeurl']=GetOneTypeUrlA($row);if(is_array($dtp2->CTags)){foreach($dtp2->CTagsas$tagid=>$ctag){if(isset($row[$ctag->GetName()])){$dtp2->Assign($tagid,$row[$ctag->GetName()]);}elseif(preg_match('/^sonchannel[0-9]*$/',$ctag->GetName())){$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));}}}$likeType.=$dtp2->GetResult();}if($col>1)$likeType.="</dd>\r\n";}//LoopColif($col>1){$i+=$col-1;$likeType.="</dl>\r\n";}}//Loopfor$ireset($dsql3);$dsql2->FreeResult();return$likeType;}?>二、在模板调用实例:{dede:channeltype='son'typeid='7'}[field:typename/]<ul>[field:sonchannel0]<li><ahref="[field:typename/]http://www.skyey.com.cn/[field:typelink/]">---[field:typename/]</a></li>[field:sonchannel2]<li><ahref="===[field:typename/]http://www.skyey.com.cn/[field:typelink/]">===[field:typename/]</a></li>[/field:sonchannel3][/field:sonchannel2][/field:sonchannel1][/field:sonchannel0]</ul>{/dede:channel}模板调用[field:sonchannel0][/field:sonchannel0]这个是用来取子栏目用得(使用[sonchannel+数字]作为标签名是为了防止嵌套的时候无法正确解析标签)这个的作用就是当你的栏目有很多子栏目无限分级的时候方便你取子栏目的转自:http://www.cnblogs.com/seaven/archive/2012/12/02/2798000.html

源码

很多网友在论坛发帖询问如何增加自定义属性,论坛中也有网友发帖解惑,采用的是服务器数据库后台管理的方式,这种方法对于大部分不熟悉操作的朋友来说,根本看不明白。呵呵~下面我将帮助文档中提及到的一种很简单的方法,用文字加图示的方式展现给大家,希望对这些朋友有所帮助。第一步:在织梦后台左栏点击“系统”;第二步:选择“系统”菜单下的“SQL命令行工具”;第三步:输入如下代码;insertinto`dede_arcatt`(sortid,att,attname)values(9,'d','评论');altertable`dede_archives`modify`flag`set('h','c','p','f','s','j','a','b','d')defaultNULL;第四步:点击“确定”。需要说明的是:代码第1行:values(9,'d','评论')是根据我们需要自行定义的,其中9是sortid的值,是不可重复的,也就是每添加一个自定义属性,sortid的值就应该递增到10,11,12...,以此类推!d是alt的值,是自定义属性的标记,与已存在的标记符号不能重复,“评论”是中文名称,是方便人们直观地勒戒自定义属性的含义的,可以根据需要改为“网络”、“新闻头条”等。代码第2行:set('c','h','p','f','s','j','a','b','d'),括号中的字母对应已存在的标记符号和您需要添加的标记符号,并按顺序录入,不得改变先后顺序。例如,d排序第9位,则对应第一行代码中添加的自定义属性““评论d”。

源码

多组投票模块基于官方投票模块开发仅学校交流使用请勿商业用途本人不承担任何责任有好的建议或者bug请发邮件!安装前先备份投票模块数据。安装本模块会清空原来投票的所有表默认后台文件夹dede关闭系统配置里面的模块缓存选项。缓存更新一遍打开投票模块可查看。强烈建议使用以下单页模板生成../templets/default/singlepage.htm测试页面可单页生成需编译选项勾上原来投票标记dede:vote功能不变在此基础上添加{dede:votelistvotelist='testetest'}根据tag名调用组投票{/dede:votelist}功能添加添加用户联系方式统计新加表vote_tel保存用户联系方式用户联系可后台管理ajax异步提交保存联系方式完成相关验证及中文乱码问题前台投票投票结果分组后台投票添加分组显示括号内为调用tag投票分类管理界面经测试,发现该插件为gbk插件,utf不可以用还经过测试,该插件的封装后的后台路径不对,需要把0576admin里面的文件覆盖到自己的后台文件中(注意备份)。然后投票页面需要有以下js才能正常,注意路径:<scriptlanguage="javascript"src="/include/js/jquery/jquery-1.7.1.min.js"></script><scriptlanguage='javascript'type='text/javascript'>functionvotesubmit(){varmid=0;varfocusid='';varnum=document.getElementById("countshiti").value;for(i=1;i<=num;i++){varvotemsg="votemsg_"+i;varvismore=(document.getElementById("ismore_"+i).value==0?'':'[]');varvoteid="vote_"+document.getElementById("voteid_"+i).value+vismore;varvoteinput=document.getElementById(voteid).value;vardaanvalue=document.getElementsByName(voteid);vark=0for(h=0;h<daanvalue.length;h++){if(daanvalue[h].checked==true){k++;}}if(k==0){mid++;$('#'+votemsg).html("该项不能为空");}else{$('#'+votemsg).html("");}if(mid==1){focusid=voteid;}}if(mid==0){document.getElementById("votemid").value=0;document.getElementById("votelist").submit();}else{alert('某项为空,请检查!');$("#"+focusid).focus();}}functionontouch(){varmid=0;varnum=document.getElementById("countshiti").value;for(i=1;i<=num;i++){varvotemsg="votemsg_"+i;varvismore=(document.getElementById("ismore_"+i).value==0?'':'[]');varvoteid="vote_"+document.getElementById("voteid_"+i).value+vismore;varvoteinput=document.getElementById(voteid).value;vardaanvalue=document.getElementsByName(voteid);vark=0;for(h=0;h<daanvalue.length;h++){if(daanvalue[h].checked==true){k++;}}if(k==0){mid++;}}varres=(num-mid)*100/num;varloadprogressleft=58+(num-mid)*140/num;varfen=formatFloat(res,2);$('#loadcss').css({width:fen+'%'});$('#loadprogress').html(fen+'%');$('.tips').css({left:loadprogressleft+'px'});}functionformatFloat(src,pos){returnMath.round(src*Math.pow(10,pos))/Math.pow(10,pos);}functionopenWebBox(){varbg=window.document.getElementById("bg");varwebbox=window.document.getElementById("webbox");bg.style.visibility="visible";webbox.style.display="block";}</script>最后,根据自己的需求修改/templets/plus/votelist.htm以及:plus/votelist.php多组投票dede的插件目前就找到这一个,所以必须要用到的时候,经过一番修改也还不错。

2013-1-25 10373 0
源码

一、以超级管理员身份登录后台,依次选择[核心]à[定时审核管理],输入定时审核的时间段,如下图所示:功能说明:1、可以设置若干时间段,在这些时间段内,每天自动审核和生成指定篇数的未审核文章,每个时间段每天只会更新一次。2、自动更新网站首页和需要更新的栏目页,需要更新的栏目页是有新文章生成的栏目,没有新文章更新的栏目不会更新,提高了更新的性能。3、可以按照栏目或者总数更新文章。按照栏目更新文章,每个栏目更新指定篇数文章。按照总数更新文章,将按照id从小到大更新指定篇数文章。4、文章更新都是按照文章id从小到大的顺序,保证先添加的文章先更新。5、文章发布时间为审核时间。6、附加功能:全站更新,添加一个时间段,设置审核数量为0时,将进行全站更新实例说明:上图每个时间段内一天只审核一次。例如:3时至5时这个时间段,3时、4时(不包括5时)这段时间内只要有用户访问了网站首页就每个栏目审核和生产2篇文章,并且发布时间变成当时审核的时间。注意:假如这段时间没有用户访问网站首页,将不会审核。14时至16时,假如有用户访问网站首页,就更新10篇文章,不按照栏目更新,按照文章id从小到大更新10篇。修改说明:注意:修改有一定风险,请注意备份,测试没问题后再使用。版本:5.7utf-8一、在dede目录下添加附带目录dede里面的文件:times_man.php二、在dede\templets目录下添加附带目录dede\templets里面的文件:times_man.htm三、在plus目录下添加附带目录plus里面的文件:timing_check.php四、修改文件templets\default\index.htm,参照附带文件templets\default\index.htm,(这里面所说的文件是dede默认的首页模板文件,如果模板大改动,请根据下面括号里的提示操作。)修改如下:1、在第30至36行处添加如下代码(如果你的模板大改过,请把下面代码放到<script></script>之间):functionTiming_Check(){vartaget_obj=document.getElementById('say_hello');myajax=newDedeAjax(taget_obj,false,false,'','','');myajax.SendGet2("{dede:global.cfg_cmspath/}/plus/timing_check.php");DedeXHTTP=null;}2、在44至46行处添加如下代码(此地方的代码放在<body></body>之间即可。):<divid="say_hello"style="display:none;"></div><scriptlanguage="javascript"type="text/javascript">Timing_Check();</script>五、修改文件dede\inc\inc_menu.php,参照附带文件dede\inc\inc_menu.php,修改如下:1、在第93行处添加如下代码:<m:itemname='定时审核管理'link='times_man.php'target='main'/>六、修改文件plus\timing_check.php,修改如下:1、第4行代码:“define('DEDEADMIN',DEDEROOT.'/dede');”,将dede修改为你后台的文件夹名称七、以超级管理员身份登陆后台,主菜单依次选择[系统]-[SQL命令工具],在“运行SQL命令行:”的文本框下输入如下内容:(输入后点击“确定”)。CREATETABLE`dede_check_time`(`id`MEDIUMINT(8)UNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,`start_time`TINYINT(2)UNSIGNEDNOTNULLDEFAULT'0',`end_time`TINYINT(2)UNSIGNEDNOTNULLDEFAULT'0',`amount`SMALLINT(5)UNSIGNEDNOTNULLDEFAULT'0',`check_time`INT(10)UNSIGNEDNOTNULL)ENGINE=MYISAM;ALTERTABLE`dede_check_time`ADD`lmorzs`TINYINT(1)UNSIGNEDNOTNULLDEFAULT'0',ADD`maxpagesize`SMALLINT(5)UNSIGNEDNOTNULL;ALTERTABLE`dede_check_time`ADD`typeid`SMALLINT(5)UNSIGNEDNOTNULL;注意:表名前缀如果修改过请把"dede_"改成你的"前缀_",共有三处。注:定时更新插件for5.7GBK.rar未亲测试,请自行测试。转载自:http://www.dedecms.com/addons/other/2012/0531/1122.html

源码

[field:picname/]:用于dede:arclist中,调用图片SRC地址[field:arcurl/]:用于dede:arclist中,调用文章URL链接[field:title/]:用于dede:arclist中,调用文章标题([field:pubdatefunction=MyDate('m-d',@me)/]):调用如:(10-15)时间,用于dede:arclist中([field:pubdatefunction=MyDate('Y-m-d',@me)/]):调用如:(2010-10-15)时间,用于dede:arclist中([field:pubdatefunction="GetDateTimeMK(@me)"/]):调用如:(2010-10-1514:36:08)时间,用于dede:arclist中[field:typename/]:用于dede:arclist中,调用当前文章的栏目名称[field:typeurl/]:用于dede:arclist中,调用当前文章的栏目链接[field:click/]:文章点击数[field:descriptionfunction='cn_substr(@me,60)'/]:用于dede:arclist中,调用文章描述,其中60为字节限制[field:info/]:描述{dede:fieldname='typename'/}:当前栏目名称标签{dede:fieldname='position'/}:当前位置调用标签[field:typelink/]:当前文章栏目名称和链接[field:description/]:当前文章描述[field:typename/]:文章列表页调用当前栏目名称(无链接)titlelen='100':限制标题长度{dede:tagsort='new'getall='0'}<ahref='[field:link/]'>[field:tag/]</a>{/dede:tag}:tag标签并且加链接(须有taglist.htm)tag首页或列表页调用:http://hi.baidu.com/mvphk/blog/item/314e7ad47a1ab4db50da4b2b.html最新标签{dede:tagrow='30'sort='new'}[field:highlight/]([field:result/]){/dede:tag}当月热门标签{dede:tagrow='30'sort='month'}[field:tagname/]([field:result/]){/dede:tag}随机标签{dede:tagrow='60'sort='rand'}[field:highlight/]([field:result/]){/dede:tag}内容页tag添加:{dede:tagtype='current'/}路径类:{dede:global.cfg_memberurl/}会员中心对应/member/{dede:global.cfg_cmsurl/}安装目录,根目录对应/{dede:global.cfg_dataurl/}data目录对应/data/{dede:global.cfg_basehost/}网站地址:对应http://www.597tao.com{dede:global.cfg_templeturl/}对应网站模板目录对应/templets分站应用:{dede:channeltype='son'}<li><ahref='[field:typeurl/]'>[field:typename/]</a></li>{/dede:channel}当前栏目的栏目列表{dede:typetypeid='1'}<ahref="[field:typelink/]">[field:typename/]</a>{/dede:type}指定栏目链接-----------------------获取二级以上栏目的栏目链接名称----------------------------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="<ahref='".$row['siteurl']."'>".$row['typename']."</a>";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目链接名称--------------------------------------------------------获取二级以上栏目的上级栏目名称----------------------------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="".$row['typename']."";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目名称----------------------------------------------------------------获取二级以上栏目的上级栏目链接---------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="".$row['siteurl']."";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目链接---------------------------------获取当前栏目的链接地址:你的网站主域名/{dede:fieldname="arcurl"/}{dede:fieldname="arcurl"/}在dede5.7的文章页使用{dede:fieldname="arcurl"/}即可得到dede当前文章页url链接---------------------------------------------------------------------------------------------------dede当前栏目名称和栏目的链接{dede:type}<ahref="[field:typelink/]">[field:typename/]</a>{/dede:type}————————————————————————————————————————总点击排行:{dede:arclistrow=20titlelen=24orderby=click}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}月点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=30}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}周点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=7}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}日点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=1}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}----------------------------------先进玩意-----------------------------------------------------------------[field:globalname=autoindex/]递增标签——http://hi.baidu.com/mvphk/blog/item/3740303c586447ce3c6d97ab.htmlnoflag='h'不是头条的infolen='110'描述字数110----------------------------------优化可能用到的----------------------------------------------------1.列表页中使用{dede:field.content/},第一页显示,第二页以上不显示~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~注意:只针对最新dedecms5.7  第一步:找到修改文件arc.listview.class.php  第二步:273行$this->ParseTempletsFirst();删除掉  第三步:299行找到$this->ParseDMFields($this->PageNo,1);回车插入$this->ParseTempletsFirst($this->PageNo);  第四步:找到functionParseTempletsFirst()改成functionParseTempletsFirst($now_page)  第五步:找到550行$GLOBALS['envs']['cross']=1;回车插入if($now_page>=2)$this->Fields['content']="";~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dede:arclist调用自定义字段addfields='add1,add2,需要查询出来的自定义字段名'channelid='自定义内容模型的ID'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~简略标题简略标题调用:{dede:field.shorttitle/}不能在{dede:arclist}标签中套用,一般放在网页titile处简略标题调用[field:shorttitle/]这个可以在{dede:arclist}标签中套用,一般用在栏目列表。当有简略标题时显示简略标题,没有简略标题时显示正标题  {dede:fieldname=’array’runphp=’yes’}if(@me['shorttitle']==”)@me=@me['title'];else@me=@me['shorttitle'];{/dede:field}这个不能在{dede:arclist}标签中套用,一般放在网页titile处;当有简略标题时显示简略标题,没有简略标题时显示正标题可以在{dede:arclist}标签中套用,一般用在栏目列表。  [field:arrayrunphp='yes']if(@me['shorttitle']==”)@me=@me['title'];else@me=@me['shorttitle'];[/field:array]简略标题字数修改:  简略标题的字数是做了限制的,可以在管理目录dede文件夹下找到下面5个文件:  archives_add.php,archives_do.php,archives_edit.php,article_add.php,article_edit.php  然后分别在文件中找到代码:  $shorttitle=cn_substrR($shorttitle,36);  把36改成100就可以了。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dede5.7调用二级栏目下的子栏目{dede:channelartlisttypeid='1,2,3...'}<ahref="{dede:fieldname='typeurl'/}">{dede:fieldname='typename'/}</a><hr><!--这里我们加一个横线,已区分顶级栏目、子栏目,此处为注释文字,可以删除-->{dede:channeltype='son'noself='yes'}<ahref="[field:typelink/]">[field:typename/]</a><br/>{/dede:channel}{/dede:channelartlist}其中{dede:channelartlisttypeid='1,2,3...'}数字填写要调用的顶级栏目的ID~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

源码

今天有个网站需要首页自动更新,在网上找了很多dede自动更新的文章,但是却很多没有作用。经过寻找最终发现一个可以满足我的需求的方法,以下为我精简后的方法步骤:1.后台SQL命令行工具,执行下面一句ALTERTABLE`你的数据库前缀_homepageset`ADD`automaketime`INT(30)NOTNULLDEFAULT’3600′AFTER`position`;这句话我没有运行成功,如果运行不成功,可以试试执行:ALTERTABLE`你的数据库前缀_homepageset`ADD`automaketime`INT(30)NOTNULL;如果还是不不成功,可以自己去数据库的你的数据库前缀_homepageset表加个automaketime字段。新建一个文本文件并命名为:auto_create_indexhtml.php,写入如下代码,上传到/plus/目录中:<?phpdefine('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`你的数据库前缀_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=newPartView();$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);}?>上面这个文件就是我们的程序,接下来我们还要调用。下面我们把它集成到后台:打开/dede/makehtml_homepage.php大概在36行找到:$iquery="UPDATE`9aipc_homepageset`SETtemplet='$templet',position='$position'";替换为:$iquery="UPDATE`9aipc_homepageset`SETtemplet='$templet',position='$position',automaketime='$automaketime'";然后保存。打开/dede/templets/makehtml_homepage.html大概在46行找到:<tr><tdheight="20"valign="top"bgcolor="#FFFFFF">主页位置:</td><tdheight="20"valign="top"bgcolor="#FFFFFF"><inputname="position"type="text"id="position"value="<?phpecho$row['position']?>"size="30"></td></tr>在其下面增加这一段<tr><tdheight="20"valign="top"bgcolor="#FFFFFF">主页自动生成间隔时间:</td><tdheight="20"valign="top"bgcolor="#FFFFFF"><inputname="automaketime"type="text"id="automaketime"value="<?phpecho$row['automaketime']?>"size="30">(秒)</td></tr>然后保存。现在打开你的模版首页。在<head></head>中间增加这段JS<scriptsrc=”{dede:global.cfg_cmspath/}/plus/auto_create_indexhtml.php”language=”javascript”></script>到后台生成下首页就行了。后台是可以设置首页自动更新时间的,以秒为单位。