转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
DEDE使用火车采集器实现的自动实时发布文章和更新HTMl的功能         ★★★

DEDE使用火车采集器实现的自动实时发布文章和更新HTMl的功能

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1044 更新时间:2012/6/7 11:05:23
DEDE使用火车采集器实现的自动实时发布文章和更新HTMl的功能,

一,为什么有这个想法:

  1. 使用火车发布文章,有三大不足。
    • 需要登陆发布,受DEDE系统限制太大
    • 就是一次发布的数量有限制,可能造成一次性发布太多遭K的恶果
    • 如果网站首页是静态文件,则不能更新首页,用户就不知道网站的更新情况
  2. 如果没有一台可以一直运行的服务器,使用火车采集器的自动更新功能就不太现实
  3. 火车采集器的自动更新功能是收费的,呵呵。
  4. 自己需要咯,想挑战一下自己咯等。

二,Do it.

  1. 首先想到,让火车发布大量数据,且将文章属性设置为未审核状态,这个问题很简单,使用DEDEv5.3.1时却遇到DEDE的一个Bug。就是未审核的文章居然会在前台显示。先是对DEDE一气臭骂,后来找了一些原因,发现了DEDEv5.3.1中的一个Bug.经修复后可以实现未审核的文章不在前台显示。1月13号到DEDE报告Bug以后,1月14号DEDE出的补丁中修复了这个问题,呵呵,所以,1月15号,就是今天咯,开始正式整理此开发文档。
  2. 实际发现,发布和保存大量未审核文章不成问题,难在如何实现随机激发发布功能。想了很久,觉得使用时间限制最好。当前台JS调用了审核文章的链接,传递一个访问用户的信息,程序取得用户的IP并保存为SESSION信息,此时,审核一篇文章并生成文章与首页静态文件。一个用户在一定的时间内,只能激活限定数量的文章,且,发布时使用此用户的IP信息,呵,挺个性的。
  3. 激活文章,生成文章静态页和首页静态文章,受网站模板的影响,可能会比较慢,则会出现首页未生成完页面就被关闭的问题。所以,最好的办法是,在发布时文章时就生成文章静态文件,然后把文章设置为未审核状态。激活文章时则只需要很短的查询。首页或者列表页尽量使用动态页,这两个问题不好处理,只能以此法代之。
  4. 完整的过程就是,发布文档时,将文档设置为未审核状态;调用程序时,先判断上一次查询的缓存有没有超时,如果超过缓存时间,则清除缓存,以显示最新的文章。清除缓存以后,查询出一定数量属性为未审核的文档,将Archives和Arctiny表中的未审核属性取消,并更新一下文档的Pubdate字段,实现一点随机化。最后写入缓存,禁止缓存有效期内的重复更新!

三,文件使用方法:

  1. 发布文档时请把文档属性设置为未审核状态,即发布时提交的文档属性参数为:arcrank=-1,这时为动态浏览;
  2. 如果你想生成静态文档,请将文档状态设置为正常浏览状态,即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 `#@__archives` SET `arcrank`='-1' WHERE (`id`='$arcID');");
    $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET `arcrank`='-1' WHERE (`id`='$arcID');");

  3. 然后,上传New.php到你的网站根目录,到Dede后台设置系统基本设置中,将性能选项卡中的arclist标签调用缓存时间设置为一个合适的数,如3600表示一个小时刷新一次缓存。
  4. 最后,在模板文件顶部调用一段代码即可:
    <script type="text/javascript" src="{dede:global.cfg_cmsurl/}/new.php"></script> ”。
  5. 支持的参数:
    • 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或者建议请回复于后。


[Web开发]dede 调用自定义字段方法详解  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台