织梦CMS用火车头自动发布文章并更新HTMl

发布时间:2021-10-12来源:未知 编辑:未知

广告位置(首页一通--图文)

-->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”处添加一段代码://生成HTMLInsertTags;$artUrl = MakeArt;if{$artUrl = $cfg_phpurl."/view.php?aid=$arcID";}$dsql->ExecuteNoneQuery;");$dsql->ExecuteNoneQuery;");然后,上传New.php到你的网站根目录,到Dede后台设置系统基本设置中,将性能选项卡中的arclist标签调用缓存时间设置为一个适合的数,如3600表示一个小时刷新一次缓存。最后,在模板文件顶部调用一段代码即可:“ <script type=”text/javascript” src=”{dede:global.cfg_cmsurl/}/new.php”></script> ”。支持的参数:no=每次随机更新的数目,为空时默觉得5;typeid=栏目ID,为空则是全站数据order=排序方法,支持Desc:倒序,Asc:顺序,Rand:随机,默觉得随机查看。如:“ <script type=”text/javascript” src=”{dede:global.cfg_cmsurl/}/new.php?no=100&typeid=2&order=desc”></script> ”排序为Desc的时候,是按先发布的文章先审核的方法进行发布的,Asc反之,Rand为随机。四,这是大家在数据处置方面做的一个尝试,或许这种新的模式会是一次突破。祝大伙用愉快。有Bug或者建议请回复于后。你可以任意转摘“DEDE用火车采集器达成的自动实时发布文章和更新HTMl的功能”,但请保留本文来源和版权信息。