DedeCMS用火车头自动发布文章并更新HTMl

DedeCMS用火车头自动发布文章并更新HTMl,第1张

概述DEDE使用火车采集器实现的自动实时发布文章和更新HTMl的功能。 一,为什么有这个想法: 使用火车发布文章,有三大不足。 需要登陆发布,受DEDE系统限制太大 就是一次发布的数量有限制,可能造成一次性发布太多遭K的恶果 如果网站首页是静态文件,则不能更新 DEDE使用火车采集器实现的自动实时发布文章和更新HTML的功能。   一,为什么有这个想法:    使用火车发布文章,有三大不足。  需要登陆发布,受DEDE系统限制太大  就是一次发布的数量有限制,可能造成一次性发布太多遭K的恶果  如果网站首页是静态文件,则不能更新首页,用户就不知道网站的更新情况  如果没有一台可以一直运行的服务器,使用火车采集器的自动更新功能就不太现实  火车采集器的自动更新功能是收费的,呵呵。  自己需要咯,想挑战一下自己咯等。   二,Do it.    首先想到,让火车发布大量数据,且将文章属性设置为未审核状态,这个问题很简单,使用DEDEv5.3.1时却遇到DEDE的一个BUG。就是未审核的文章居然会在前台显示。先是对DEDE一气臭骂,后来找了一些原因,发现了DEDEv5.3.1中的一个BUG.经修复后可以实现未审核的文章不在前台显示。1月13号到DEDE报告BUG以后,1月14号DEDE出的补丁中修复了这个问题,呵呵,所以,1月15号,就是今天咯,开始正式整理此开发文档。  实际发现,发布和保存大量未审核文章不成问题,难在如何实现随机激发发布功能。想了很久,觉得使用时间限制最好。当前台Js调用了审核文章的链接,传递一个访问用户的信息,程序取得用户的IP并保存为SESSION信息,此时,审核一篇文章并生成文章与首页静态文件。一个用户在一定的时间内,只能激活限定数量的文章,且,发布时使用此用户的IP信息,呵,挺个性的。  激活文章,生成文章静态页和首页静态文章,受网站模板的影响,可能会比较慢,则会出现首页未生成完页面就被关闭的问题。所以,最好的办法是,在发布时文章时就生成文章静态文件,然后把文章设置为未审核状态。激活文章时则只需要很短的查询。首页或者列表页尽量使用动态页,这两个问题不好处理,只能以此法代之。  完整的过程就是,发布文档时,将文档设置为未审核状态;调用程序时,先判断上一次查询的缓存有没有超时,如果超过缓存时间,则清除缓存,以显示最新的文章。清除缓存以后,查询出一定数量属性为未审核的文档,将Archives和Arctiny表中的未审核属性取消,并更新一下文档的Pubdate字段,实现一点随机化。最后写入缓存,禁止缓存有效期内的重复更新!   三,文件使用方法:    发布文档时请把文档属性设置为未审核状态,即发布时提交的文档属性参数为:arcrank=-1,这时为动态浏览;  如果你想生成静态文档,请将文档状态设置为正常浏览状态,即arcrank=0;然后修改默认文档添加程序。  如:arcticle_add.PHP,在文件最下边“//生成HTML”处添加一段代码:    //生成HTML  InsertTags($Tags,$arcID);  $artUrl = MakeArt($arcID,true,true);    if($artUrl=='')  {  $artUrl = $cfg_PHPurl."/vIEw.PHP?aID=$arcID";  }  $dsql->ExecuteNonequery("UPDATE `CMSxx_archives` SET `arcrank`='-1' WHERE (`ID`='$arcID');");  $dsql->ExecuteNonequery("UPDATE `CMSxx_arctiny` SET `arcrank`='-1' WHERE (`ID`='$arcID');");    然后,上传New.PHP到你的网站根目录,到Dede后台设置系统基本设置中,将性能选项卡中的arcList标签调用缓存时间设置为一个合适的数,如3600表示一个小时刷新一次缓存。  最后,在模板文件顶部调用一段代码即可:  “ 总结

以上是内存溢出为你收集整理的DedeCMS用火车头自动发布文章并更新HTMl全部内容,希望文章能够帮你解决DedeCMS用火车头自动发布文章并更新HTMl所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1018913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存